diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-05-15 02:03:13 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-05-15 02:03:13 +0000 |
commit | fa8710bf5c7b0aaf7d687d9831fbd01b71da85ae (patch) | |
tree | 1a008a4e5e7a95d161396cd494dd3825acdb091e | |
parent | dc064d58ba1276fd2a6ad5d541846e142f8ec116 (diff) |
make sure we store the function pointers to the real push/pop functions rather than the public weak ones so that the libc->libpthread forwarding code is able to work properly
this should fix the case where libpthread.so is not linked directly, but rather via another library:
app -> links to libfoo.so -> links to libpthread.so
and any function (like readdir_r) that does:
__UCLIBC_MUTEX_LOCK()
__UCLIBC_MUTEX_UNLOCK()
-rw-r--r-- | libpthread/linuxthreads.old/pthread.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libpthread/linuxthreads.old/pthread.c b/libpthread/linuxthreads.old/pthread.c index bdb64fdff..65f63ce47 100644 --- a/libpthread/linuxthreads.old/pthread.c +++ b/libpthread/linuxthreads.old/pthread.c @@ -371,8 +371,8 @@ struct pthread_functions __pthread_functions = .ptr__pthread_cleanup_push = _pthread_cleanup_push, .ptr__pthread_cleanup_pop = _pthread_cleanup_pop */ - .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer, - .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore, + .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer, + .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore, }; #ifdef SHARED # define ptr_pthread_functions &__pthread_functions |