aboutsummaryrefslogtreecommitdiff
path: root/pkcs11.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2015-09-21 16:40:34 -0400
committerRob Austein <sra@hactrn.net>2015-09-21 16:40:34 -0400
commitf723a3b05eb960a2c0e4fe5e86c8dde91a425acf (patch)
treef576de5b63a86a67263445cfc4ee2ed53a644318 /pkcs11.c
parent35295b4171bbbfa32233a3d4b23ef8378a8b1c49 (diff)
Unit tests for init, session, and login functions.
Diffstat (limited to 'pkcs11.c')
-rw-r--r--pkcs11.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkcs11.c b/pkcs11.c
index 93a5f36..eef1aec 100644
--- a/pkcs11.c
+++ b/pkcs11.c
@@ -1593,6 +1593,10 @@ static CK_RV p11_session_delete(const CK_SESSION_HANDLE session_handle)
p11_sessions = session->link;
p11_session_free(session);
+ /* Deleting last session also logs us out */
+ if (p11_sessions == NULL)
+ logged_in_as = not_logged_in;
+
fail:
sqlite3_finalize(q);
return rv;
@@ -1621,6 +1625,8 @@ static CK_RV p11_session_delete_all(void)
p11_session_free(session);
}
+ logged_in_as = not_logged_in;
+
fail:
return rv;
}
@@ -2696,6 +2702,11 @@ CK_RV C_Finalize(CK_VOID_PTR pReserved)
rv = mutex_unlock(p11_global_mutex);
(void) mutex_destroy(p11_global_mutex);
p11_global_mutex = NULL;
+
+#if USE_POSIX
+ initialized_pid = 0;
+#endif
+
return rv;
fail: