From f77f0561c6eede847a4ca6df74dd7fd6afcf752d Mon Sep 17 00:00:00 2001 From: Nicky Date: Sat, 27 Oct 2012 12:40:52 +0200 Subject: [PATCH] Set ownership of apr allocators. --- indra/llcommon/llapr.cpp | 2 ++ indra/llcommon/llthread.cpp | 1 + indra/llcommon/llthreadsafequeue.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp index c170d831de..eaf118b73f 100644 --- a/indra/llcommon/llapr.cpp +++ b/indra/llcommon/llapr.cpp @@ -60,6 +60,7 @@ void ll_init_apr() apr_allocator_create( &pAlloc ); apr_pool_create_ex( &gAPRPoolp, 0, 0, pAlloc ); + apr_allocator_owner_set( pAlloc, gAPRPoolp ); // @@ -146,6 +147,7 @@ void LLAPRPool::createAPRPool() ll_apr_warn_status(mStatus) ; mStatus = apr_pool_create_ex( &mPool, mParent, 0, pAlloc ); ll_apr_warn_status(mStatus) ; + apr_allocator_owner_set( pAlloc, mPool ); // diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index 3605bc4010..05dc5262a1 100644 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -119,6 +119,7 @@ LLThread::LLThread(const std::string& name, apr_pool_t *poolp) : apr_allocator_create( &pAlloc ); apr_pool_create_ex( &mAPRPoolp, 0, 0, pAlloc ); + apr_allocator_owner_set( pAlloc, mAPRPoolp ); // diff --git a/indra/llcommon/llthreadsafequeue.cpp b/indra/llcommon/llthreadsafequeue.cpp index 976de4ea1f..4996695822 100644 --- a/indra/llcommon/llthreadsafequeue.cpp +++ b/indra/llcommon/llthreadsafequeue.cpp @@ -55,6 +55,7 @@ LLThreadSafeQueueImplementation::LLThreadSafeQueueImplementation(apr_pool_t * po apr_status_t status = apr_allocator_create( &pAlloc ); status = apr_pool_create_ex( &mPool, 0, 0, pAlloc ); + apr_allocator_owner_set( pAlloc, mPool ); if(status != APR_SUCCESS) throw LLThreadSafeQueueError("failed to allocate pool");