diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-03-03 18:30:44 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-03-03 18:30:44 -0500 |
commit | b480808a6a511c9350a6559b63938ac261c83a76 (patch) | |
tree | e5479cfec9500cc5cd2db4466d7bab2847d64735 /src/thread/pthread_key_create.c | |
parent | a53d2f3425aa32b5770b03acbab12d1df3af7226 (diff) | |
download | musl-b480808a6a511c9350a6559b63938ac261c83a76.tar.gz musl-b480808a6a511c9350a6559b63938ac261c83a76.tar.bz2 musl-b480808a6a511c9350a6559b63938ac261c83a76.tar.xz musl-b480808a6a511c9350a6559b63938ac261c83a76.zip |
optimize POSIX TSD for fast pthread_getspecific
Diffstat (limited to 'src/thread/pthread_key_create.c')
-rw-r--r-- | src/thread/pthread_key_create.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/thread/pthread_key_create.c b/src/thread/pthread_key_create.c index efc38046..52c09734 100644 --- a/src/thread/pthread_key_create.c +++ b/src/thread/pthread_key_create.c @@ -12,6 +12,7 @@ int pthread_key_create(pthread_key_t *k, void (*dtor)(void *)) int i = (uintptr_t)&k / 16 % PTHREAD_KEYS_MAX; int j = i; + pthread_self(); libc.tsd_keys = keys; if (!dtor) dtor = nodtor; /* Cheap trick - &k cannot match any destructor pointer */ |