summaryrefslogtreecommitdiff
path: root/indra/llcommon/llapr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon/llapr.cpp')
-rw-r--r--indra/llcommon/llapr.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp
index 1db3aa9e89..8a87911315 100644
--- a/indra/llcommon/llapr.cpp
+++ b/indra/llcommon/llapr.cpp
@@ -29,6 +29,7 @@
#include "linden_common.h"
#include "llapr.h"
#include "apr_dso.h"
+#include "llthreadlocalstorage.h"
apr_pool_t *gAPRPoolp = NULL; // Global APR memory pool
LLVolatileAPRPool *LLAPRFile::sAPRFilePoolp = NULL ; //global volatile APR memory pool.
@@ -59,7 +60,7 @@ void ll_init_apr()
}
-void ll_cleanup_apr()
+void ll_cleanup_apr(bool destroy_pools)
{
LL_INFOS("APR") << "Cleaning up APR" << LL_ENDL;
@@ -82,7 +83,7 @@ void ll_cleanup_apr()
LLThreadLocalPointerBase::destroyAllThreadLocalStorage();
- if (gAPRPoolp)
+ if (gAPRPoolp && destroy_pools)
{
apr_pool_destroy(gAPRPoolp);
gAPRPoolp = NULL;
@@ -542,12 +543,12 @@ void LLThreadLocalPointerBase::destroyAllThreadLocalStorage()
{
if (sInitialized)
{
- for (LLInstanceTracker<LLThreadLocalPointerBase>::instance_iter it = beginInstances(), end_it = endInstances();
- it != end_it;
- ++it)
- {
- (*it).destroyStorage();
- }
+ //for (LLInstanceTracker<LLThreadLocalPointerBase>::instance_iter it = beginInstances(), end_it = endInstances();
+ // it != end_it;
+ // ++it)
+ //{
+ // (*it).destroyStorage();
+ //}
sInitialized = false;
}
}