--- compat_glibc/linux_pthread.c.orig Sat Oct 16 23:42:25 2004 +++ compat_glibc/linux_pthread.c Sat Dec 4 11:13:06 2004 @@ -38,6 +38,9 @@ * pthread_mutex_init(3) */ int _pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *); +int __pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *); + +#pragma weak __pthread_mutex_init int pthread_mutex_init(linux_pthread_mutex_t *l_mutex, const linux_pthread_mutexattr_t *l_attr) @@ -48,7 +51,10 @@ pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); - ret = _pthread_mutex_init((pthread_mutex_t *)l_mutex, &attr); + if (__pthread_mutex_init != NULL) + ret = __pthread_mutex_init((pthread_mutex_t *)l_mutex, &attr); + else + ret = _pthread_mutex_init((pthread_mutex_t *)l_mutex, &attr); pthread_mutexattr_destroy(&attr);