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_join.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_join.c')
-rw-r--r-- | src/thread/pthread_join.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/thread/pthread_join.c b/src/thread/pthread_join.c index abd2d668..19e6b548 100644 --- a/src/thread/pthread_join.c +++ b/src/thread/pthread_join.c @@ -1,16 +1,20 @@ #include "pthread_impl.h" #include <sys/mman.h> +int __munmap(void *, size_t); + static void dummy(void *p) { } -int pthread_join(pthread_t t, void **res) +int __pthread_join(pthread_t t, void **res) { int tmp; pthread_testcancel(); while ((tmp = t->tid)) __timedwait(&t->tid, tmp, 0, 0, dummy, 0, 0); if (res) *res = t->result; - if (t->map_base) munmap(t->map_base, t->map_size); + if (t->map_base) __munmap(t->map_base, t->map_size); return 0; } + +weak_alias(__pthread_join, pthread_join); |