diff options
author | David Xu <davidxu@FreeBSD.org> | 2007-11-19 02:09:07 +0000 |
---|---|---|
committer | David Xu <davidxu@FreeBSD.org> | 2007-11-19 02:09:07 +0000 |
commit | 4940ef4ad02b26f2015f871577c6b3bd7edd7324 (patch) | |
tree | fa3bb5e6cd60e896c255902f72aa23ae3c024946 | |
parent | 9538bab38b926fccdaaa67f5845c2ffdf7994ce6 (diff) |
Notes
-rw-r--r-- | lib/libkse/thread/thr_spec.c | 6 |
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); |