summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorArnaud Versini <arnaud.versini@libreoffice.org>2021-10-09 20:51:27 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-10-10 14:43:21 +0200
commit82bc337c979f6d74cb08d0332b44f26b155f9554 (patch)
treef960dab79b548e698140fb612162d305e1082f78 /sal
parentcf22245d49df8abab904f28b1fab514bde197f2b (diff)
OSL : use std::mutex in backtraceapi
Change-Id: I2df73d7959dd24882f75130f0fd03ff096dce8d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123322 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/unx/backtraceapi.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/sal/osl/unx/backtraceapi.cxx b/sal/osl/unx/backtraceapi.cxx
index 79fa3adf7296..e98d8d663f39 100644
--- a/sal/osl/unx/backtraceapi.cxx
+++ b/sal/osl/unx/backtraceapi.cxx
@@ -13,6 +13,7 @@
#include <cstdlib>
#include <limits>
#include <memory>
+#include <mutex>
#include <o3tl/runtimetooustring.hxx>
#include <rtl/ustrbuf.hxx>
@@ -68,7 +69,7 @@ struct FrameData
};
typedef o3tl::lru_map<void*, OString> FrameCache;
-osl::Mutex frameCacheMutex;
+std::mutex frameCacheMutex;
FrameCache frameCache( 256 );
void process_file_addr2line( const char* file, std::vector<FrameData>& frameData )
@@ -164,7 +165,7 @@ void process_file_addr2line( const char* file, std::vector<FrameData>& frameData
frame.info = function + " in " + file;
else
frame.info = function + " at " + source;
- osl::MutexGuard guard(frameCacheMutex);
+ std::lock_guard guard(frameCacheMutex);
frameCache.insert( { frame.addr, frame.info } );
}
}
@@ -183,9 +184,9 @@ OUString sal::backtrace_to_string(BacktraceState* backtraceState)
{
Dl_info dli;
void* addr = backtraceState->buffer[i];
- osl::ClearableMutexGuard guard(frameCacheMutex);
+ std::unique_lock guard(frameCacheMutex);
auto it = frameCache.find(addr);
- guard.clear();
+ guard.release();
if( it != frameCache.end())
{
frameData[ i ].info = it->second;