aboutsummaryrefslogtreecommitdiff
path: root/src/util/support/threads.c
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2005-01-17 23:57:51 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2005-01-17 23:57:51 +0000
commit191783e634d17927051337359f9abbe32c0e5b2e (patch)
tree23e55cd09bc4ed584e897a03487834bf36172b14 /src/util/support/threads.c
parent962f1e24f1a3838d521db990778e1bd5a0432be2 (diff)
downloadkrb5-191783e634d17927051337359f9abbe32c0e5b2e.zip
krb5-191783e634d17927051337359f9abbe32c0e5b2e.tar.gz
krb5-191783e634d17927051337359f9abbe32c0e5b2e.tar.bz2
Some applications such as Eudora on Windows load and unload the Kerberos
libraries as part of a plug-in. Plugins are often loaded for a specific purpose and then unregistered. In order to support this model, the libraries must restore the library state to the uninitialized state when the library is unloaded. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17050 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/support/threads.c')
-rw-r--r--src/util/support/threads.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/util/support/threads.c b/src/util/support/threads.c
index 44b6420..c8d4199 100644
--- a/src/util/support/threads.c
+++ b/src/util/support/threads.c
@@ -305,6 +305,9 @@ int k5_key_delete (k5_key_t keynum)
/* XXX Memory leak here!
Need to destroy the associated data for all threads.
But watch for race conditions in case threads are going away too. */
+ assert(destructors_set[keynum] == 1);
+ destructors_set[keynum] = 0;
+ destructors[keynum] = 0;
LeaveCriticalSection(&key_lock);
#else /* POSIX */