--- linden-orig/indra/llcommon\llapr.cpp 2007-09-13 15:35:18.000000000 +0200 +++ linden/indra/llcommon\llapr.cpp 2007-09-16 17:59:54.640625000 +0200 @@ -44,7 +44,7 @@ apr_pool_create(&gAPRPoolp, NULL); // Initialize the logging mutex - apr_thread_mutex_create(&gLogMutexp, APR_THREAD_MUTEX_DEFAULT, gAPRPoolp); + apr_thread_mutex_create(&gLogMutexp, APR_THREAD_MUTEX_NESTED, gAPRPoolp); } } --- linden-orig/indra/llcommon\llthread.cpp 2007-09-13 15:35:18.000000000 +0200 +++ linden/indra/llcommon\llthread.cpp 2007-09-16 17:59:53.203125000 +0200 @@ -266,7 +266,7 @@ mIsLocalPool = TRUE; apr_pool_create(&mAPRPoolp, NULL); // Create a subpool for this thread } - apr_thread_mutex_create(&mAPRMutexp, APR_THREAD_MUTEX_DEFAULT, mAPRPoolp); + apr_thread_mutex_create(&mAPRMutexp, APR_THREAD_MUTEX_NESTED, mAPRPoolp); } --- linden-orig/indra/llmessage\llpumpio.cpp 2007-09-13 15:35:18.000000000 +0200 +++ linden/indra/llmessage\llpumpio.cpp 2007-09-16 17:59:51.656250000 +0200 @@ -684,8 +684,8 @@ LLMemType m1(LLMemType::MTYPE_IO_PUMP); if(!pool) return; #if LL_THREADS_APR - apr_thread_mutex_create(&mChainsMutex, APR_THREAD_MUTEX_DEFAULT, pool); - apr_thread_mutex_create(&mCallbackMutex, APR_THREAD_MUTEX_DEFAULT, pool); + apr_thread_mutex_create(&mChainsMutex, APR_THREAD_MUTEX_NESTED, pool); + apr_thread_mutex_create(&mCallbackMutex, APR_THREAD_MUTEX_NESTED, pool); #endif mPool = pool; }