diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-09-15 01:22:27 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-09-15 20:33:55 +0300 |
commit | 37246b99f698f53194c3d60b471e190af79a45fe (patch) | |
tree | c053f940d7f5c713067e60459fb8bfb01a74031e /indra/llcommon/llapr.cpp | |
parent | 2b96b06669df6ba4be88b8645127b7b9d09632ed (diff) |
SL-17135 Apr process creation crash
looks like pool regularly gets corrupted, try using separate pool
Diffstat (limited to 'indra/llcommon/llapr.cpp')
-rw-r--r-- | indra/llcommon/llapr.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp index 435531f86f..69466df2d1 100644 --- a/indra/llcommon/llapr.cpp +++ b/indra/llcommon/llapr.cpp @@ -38,6 +38,12 @@ const S32 FULL_VOLATILE_APR_POOL = 1024 ; //number of references to LLVolatileAP bool gAPRInitialized = false; +int abortfunc(int retcode) +{ + LL_WARNS("APR") << "Allocation failure in apr pool with code " << (S32)retcode << LL_ENDL; + return 0; +} + void ll_init_apr() { // Initialize APR and create the global pool @@ -45,7 +51,7 @@ void ll_init_apr() if (!gAPRPoolp) { - apr_pool_create(&gAPRPoolp, NULL); + apr_pool_create_ex(&gAPRPoolp, NULL, abortfunc, NULL); } if(!LLAPRFile::sAPRFilePoolp) |