sal/osl/unx/backtraceapi.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
New commits: commit 82bc337c979f6d74cb08d0332b44f26b155f9554 Author: Arnaud Versini <arnaud.vers...@libreoffice.org> AuthorDate: Sat Oct 9 20:51:27 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Oct 10 14:43:21 2021 +0200 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.gran...@collabora.co.uk> 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;