diff options
author | Jens Gustedt <Jens.Gustedt@inria.fr> | 2014-09-01 00:46:23 +0200 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-09-06 18:11:24 -0400 |
commit | df7d0dfb9c686df31149d09008ba92834bed9803 (patch) | |
tree | 758743956de08b94514757bda68a628751d0f533 /src/thread/pthread_key_create.c | |
parent | 6eb19505bc10eb7964c4863e53ef1028944044f2 (diff) | |
download | musl-df7d0dfb9c686df31149d09008ba92834bed9803.tar.gz musl-df7d0dfb9c686df31149d09008ba92834bed9803.tar.bz2 musl-df7d0dfb9c686df31149d09008ba92834bed9803.tar.xz musl-df7d0dfb9c686df31149d09008ba92834bed9803.zip |
use weak symbols for the POSIX functions that will be used by C threads
The intent of this is to avoid name space pollution of the C threads
implementation.
This has two sides to it. First we have to provide symbols that wouldn't
pollute the name space for the C threads implementation. Second we have
to clean up some internal uses of POSIX functions such that they don't
implicitly drag in such symbols.
Diffstat (limited to 'src/thread/pthread_key_create.c')
-rw-r--r-- | src/thread/pthread_key_create.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/thread/pthread_key_create.c b/src/thread/pthread_key_create.c index a9187f7b..bfcd5976 100644 --- a/src/thread/pthread_key_create.c +++ b/src/thread/pthread_key_create.c @@ -9,7 +9,7 @@ static void nodtor(void *dummy) { } -int pthread_key_create(pthread_key_t *k, void (*dtor)(void *)) +int __pthread_key_create(pthread_key_t *k, void (*dtor)(void *)) { unsigned i = (uintptr_t)&k / 16 % PTHREAD_KEYS_MAX; unsigned j = i; @@ -31,7 +31,7 @@ int pthread_key_create(pthread_key_t *k, void (*dtor)(void *)) return EAGAIN; } -int pthread_key_delete(pthread_key_t k) +int __pthread_key_delete(pthread_key_t k) { keys[k] = 0; return 0; @@ -53,3 +53,6 @@ void __pthread_tsd_run_dtors() } } } + +weak_alias(__pthread_key_delete, pthread_key_delete); +weak_alias(__pthread_key_create, pthread_key_create); |