aboutsummaryrefslogtreecommitdiff
path: root/pkcs11.c
diff options
context:
space:
mode:
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: