summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llcommon/llerror.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index 800586b6a6..ff80863497 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -55,6 +55,7 @@
#include "llsingleton.h"
#include "llstl.h"
#include "lltimer.h"
+#include <boost/fiber/recursive_mutex.hpp>
// On Mac, got:
// #error "Boost.Stacktrace requires `_Unwind_Backtrace` function. Define
@@ -506,7 +507,7 @@ namespace
LLError::TimeFunction mTimeFunction;
Recorders mRecorders;
- LLCoros::Mutex mRecorderMutex;
+ boost::fibers::recursive_mutex mRecorderMutex;
int mShouldLogCallCounter;
@@ -1044,7 +1045,7 @@ namespace LLError
return;
}
SettingsConfigPtr s = Globals::getInstance()->getSettingsConfig();
- LLCoros::LockType lock(s->mRecorderMutex);
+ std::unique_lock lock(s->mRecorderMutex);
s->mRecorders.push_back(recorder);
}
@@ -1055,7 +1056,7 @@ namespace LLError
return;
}
SettingsConfigPtr s = Globals::getInstance()->getSettingsConfig();
- LLCoros::LockType lock(s->mRecorderMutex);
+ std::unique_lock lock(s->mRecorderMutex);
s->mRecorders.erase(std::remove(s->mRecorders.begin(), s->mRecorders.end(), recorder),
s->mRecorders.end());
}
@@ -1104,7 +1105,7 @@ namespace LLError
std::shared_ptr<RECORDER> findRecorder()
{
SettingsConfigPtr s = Globals::getInstance()->getSettingsConfig();
- LLCoros::LockType lock(s->mRecorderMutex);
+ std::unique_lock lock(s->mRecorderMutex);
return findRecorderPos<RECORDER>(s).first;
}
@@ -1115,7 +1116,7 @@ namespace LLError
bool removeRecorder()
{
SettingsConfigPtr s = Globals::getInstance()->getSettingsConfig();
- LLCoros::LockType lock(s->mRecorderMutex);
+ std::unique_lock lock(s->mRecorderMutex);
auto found = findRecorderPos<RECORDER>(s);
if (found.first)
{
@@ -1221,7 +1222,7 @@ namespace
std::string escaped_message;
- LLCoros::LockType lock(s->mRecorderMutex);
+ std::unique_lock lock(s->mRecorderMutex);
for (LLError::RecorderPtr& r : s->mRecorders)
{
if (!r->enabled())