summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2007-11-19 02:09:07 +0000
committerDavid Xu <davidxu@FreeBSD.org>2007-11-19 02:09:07 +0000
commit4940ef4ad02b26f2015f871577c6b3bd7edd7324 (patch)
treefa3bb5e6cd60e896c255902f72aa23ae3c024946
parent9538bab38b926fccdaaa67f5845c2ffdf7994ce6 (diff)
Notes
-rw-r--r--lib/libkse/thread/thr_spec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libkse/thread/thr_spec.c b/lib/libkse/thread/thr_spec.c
index 6059375f8fb1e..1cfe1b1dcad70 100644
--- a/lib/libkse/thread/thr_spec.c
+++ b/lib/libkse/thread/thr_spec.c
@@ -90,9 +90,13 @@ _pthread_key_create(pthread_key_t *key, void (*destructor) (void *))
int
_pthread_key_delete(pthread_key_t key)
{
- struct pthread *curthread = _get_curthread();
+ struct pthread *curthread;
int ret = 0;
+ if (_thr_initial == NULL)
+ _libpthread_init(NULL);
+ curthread = _get_curthread();
+
if ((unsigned int)key < PTHREAD_KEYS_MAX) {
/* Lock the key table: */
THR_LOCK_ACQUIRE(curthread, &_keytable_lock);