summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
diff options
context:
space:
mode:
authorGwenolé Beauchesne <gbeauchesne@mandriva.org>2003-06-04 18:31:57 +0000
committerGwenolé Beauchesne <gbeauchesne@mandriva.org>2003-06-04 18:31:57 +0000
commit09e967c2d732783b2579e4e120cd9b608404cb00 (patch)
tree8d2783a6a7e33608c6012efd6a88b8f5694df81d /mdk-stage1/dietlibc/libpthread/pthread_key_create.c
parent18fcff49d3c836697d3b75a3d01d31c700e69974 (diff)
downloaddrakx-backup-do-not-use-09e967c2d732783b2579e4e120cd9b608404cb00.tar
drakx-backup-do-not-use-09e967c2d732783b2579e4e120cd9b608404cb00.tar.gz
drakx-backup-do-not-use-09e967c2d732783b2579e4e120cd9b608404cb00.tar.bz2
drakx-backup-do-not-use-09e967c2d732783b2579e4e120cd9b608404cb00.tar.xz
drakx-backup-do-not-use-09e967c2d732783b2579e4e120cd9b608404cb00.zip
Merge from R9_0-AMD64, most notably:
- AMD64 support to insmod-busybox, minilibc, et al. - Sync with insmod-modutils 2.4.19 something but everyone should use dietlibc nowadays - Factor out compilation and prefix with $(DIET) for dietlibc builds - 64-bit & varargs fixes
Diffstat (limited to 'mdk-stage1/dietlibc/libpthread/pthread_key_create.c')
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_create.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c b/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
index 44fccea6a..9718c695b 100644
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
+++ b/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
@@ -1,3 +1,4 @@
+#include <string.h>
#include <unistd.h>
#include <errno.h>
@@ -19,7 +20,7 @@ int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*))
if (!__thread_keys[i].used) {
__thread_keys[i].used=1;
__thread_keys[i].destructor=destructor;
- memset(__thread_keys[i].tkd,0,PTHREAD_THREADS_MAX*sizeof(struct _thread_key));
+ memset(__thread_keys[i].tkd,0,PTHREAD_THREADS_MAX*sizeof(void*));
*key=i;
ret=0;
break;
@@ -29,7 +30,7 @@ int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*))
__pthread_unlock(&__thread_keys_lock);
__NO_ASYNC_CANCEL_END;
- if (ret) (*__errno_location())=EAGAIN;
- return ret;
+ if (ret) return EAGAIN;
+ return 0;
}