From 4b62b76062a80ed020e5876c719f318637b318e7 Mon Sep 17 00:00:00 2001 From: davidxu Date: Mon, 19 Nov 2007 02:09:07 +0000 Subject: MFlibthr: In _pthread_key_create() ensure that libkse is initialized. --- lib/libkse/thread/thr_spec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libkse/thread/thr_spec.c b/lib/libkse/thread/thr_spec.c index 6059375..1cfe1b1 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); -- cgit v1.1