summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginsharedmemory.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2011-08-31 10:48:56 -0600
committerXiaohong Bao <bao@lindenlab.com>2011-08-31 10:48:56 -0600
commit749d9ebadcd201e27a9453de7a2d9320d78efbb5 (patch)
tree6e2119ba44dd37543a81c2b67644c5fa1ac2b698 /indra/llplugin/llpluginsharedmemory.cpp
parentbdd053abcffea1f4c30421176d0a3749027c6b7d (diff)
parent48d949150cd445ce1e801a7a8ee67597a965f14b (diff)
Merge
Diffstat (limited to 'indra/llplugin/llpluginsharedmemory.cpp')
-rw-r--r--indra/llplugin/llpluginsharedmemory.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/indra/llplugin/llpluginsharedmemory.cpp b/indra/llplugin/llpluginsharedmemory.cpp
index 63ff5085c6..e2ff645a9c 100644
--- a/indra/llplugin/llpluginsharedmemory.cpp
+++ b/indra/llplugin/llpluginsharedmemory.cpp
@@ -187,7 +187,8 @@ bool LLPluginSharedMemory::create(size_t size)
mName += createName();
mSize = size;
- apr_status_t status = apr_shm_create( &(mImpl->mAprSharedMemory), mSize, mName.c_str(), gAPRPoolp );
+ mPool.create();
+ apr_status_t status = apr_shm_create( &(mImpl->mAprSharedMemory), mSize, mName.c_str(), mPool());
if(ll_apr_warn_status(status))
{
@@ -210,7 +211,7 @@ bool LLPluginSharedMemory::destroy(void)
}
mImpl->mAprSharedMemory = NULL;
}
-
+ mPool.destroy();
return true;
}
@@ -219,7 +220,8 @@ bool LLPluginSharedMemory::attach(const std::string &name, size_t size)
mName = name;
mSize = size;
- apr_status_t status = apr_shm_attach( &(mImpl->mAprSharedMemory), mName.c_str(), gAPRPoolp );
+ mPool.create();
+ apr_status_t status = apr_shm_attach( &(mImpl->mAprSharedMemory), mName.c_str(), mPool() );
if(ll_apr_warn_status(status))
{
@@ -241,6 +243,7 @@ bool LLPluginSharedMemory::detach(void)
}
mImpl->mAprSharedMemory = NULL;
}
+ mPool.destroy();
return true;
}