Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -7,17 +7,17 @@ AC_PROG_INSTALL AC_GNU_SOURCE dnl Determine system information DC_CHK_OS_INFO + +dnl Determine how to make shared objects +DC_GET_SHOBJFLAGS dnl Perform Tcl Extension required stuff TCLEXT_INIT -dnl Determine how to make shared objects -DC_GET_SHOBJFLAGS - dnl Find out if we have the functions needed to open shared objects AC_SEARCH_LIBS(dlopen, dl,, [ AC_SEARCH_LIBS(shl_load, dld dl) ]) AC_CHECK_FUNCS(dlopen shl_load) Index: tclpkcs11.c ================================================================== --- tclpkcs11.c +++ tclpkcs11.c @@ -623,24 +623,14 @@ return(TCL_ERROR); } /* Log out of the PKCS11 module */ - chk_rv = handle->pkcs11->C_Logout(handle->session); - if (chk_rv != CKR_OK) { - Tcl_SetObjResult(interp, tclpkcs11_pkcs11_error(chk_rv)); - - return(TCL_ERROR); - } + handle->pkcs11->C_Logout(handle->session); /* Close the session, cleaning up all the session objects */ - chk_rv = tclpkcs11_close_session(handle); - if (chk_rv != CKR_OK) { - Tcl_SetObjResult(interp, tclpkcs11_pkcs11_error(chk_rv)); - - return(TCL_ERROR); - } + tclpkcs11_close_session(handle); /* Ask the PKCS#11 Provider to terminate */ chk_rv = handle->pkcs11->C_Finalize(NULL); if (chk_rv != CKR_OK) { Tcl_SetObjResult(interp, tclpkcs11_pkcs11_error(chk_rv));