diff options
Diffstat (limited to 'libpthread')
-rw-r--r-- | libpthread/linuxthreads.old/specific.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/libpthread/linuxthreads.old/specific.c b/libpthread/linuxthreads.old/specific.c index ae836055d..42be6043c 100644 --- a/libpthread/linuxthreads.old/specific.c +++ b/libpthread/linuxthreads.old/specific.c @@ -24,7 +24,6 @@ #include "spinlock.h" #include "restart.h" - /* Table of keys. */ static struct pthread_key_struct pthread_keys[PTHREAD_KEYS_MAX] = @@ -42,21 +41,21 @@ static pthread_mutex_t pthread_keys_mutex = PTHREAD_MUTEX_INITIALIZER; int pthread_key_create(pthread_key_t * key, destr_function destr) { - int i; - - pthread_mutex_lock(&pthread_keys_mutex); - for (i = 0; i < PTHREAD_KEYS_MAX; i++) { - if (! pthread_keys[i].in_use) { - /* Mark key in use */ - pthread_keys[i].in_use = 1; - pthread_keys[i].destr = destr; - pthread_mutex_unlock(&pthread_keys_mutex); - *key = i; - return 0; - } + int i; + + pthread_mutex_lock(&pthread_keys_mutex); + for (i = 0; i < PTHREAD_KEYS_MAX; i++) { + if (! pthread_keys[i].in_use) { + /* Mark key in use */ + pthread_keys[i].in_use = 1; + pthread_keys[i].destr = destr; + pthread_mutex_unlock(&pthread_keys_mutex); + *key = i; + return 0; } - pthread_mutex_unlock(&pthread_keys_mutex); - return EAGAIN; + } + pthread_mutex_unlock(&pthread_keys_mutex); + return EAGAIN; } /* Delete a key */ |