From: Alexandre Ganea Date: Fri, 30 Sep 2022 12:17:14 +0000 (-0400) Subject: [Orc] Fix the SharedMemoryMapper dtor X-Git-Tag: upstream/17.0.6~31511 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1c25ce1738df68516d47c30d7962ef5f4cc09826;p=platform%2Fupstream%2Fllvm.git [Orc] Fix the SharedMemoryMapper dtor As briefly discussed on https://reviews.llvm.org/rG1134d3a03facccd75efc5385ba46918bef94fcb6, fix the unintended copy while iterating on Reservations and add a mutex guard, to be symmetric with other usages of Reservations. Differential revision: https://reviews.llvm.org/D134212 --- diff --git a/llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp b/llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp index ecdf773..bb4568b 100644 --- a/llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp +++ b/llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp @@ -412,6 +412,7 @@ void SharedMemoryMapper::release(ArrayRef Bases, } SharedMemoryMapper::~SharedMemoryMapper() { + std::lock_guard Lock(Mutex); for (const auto &R : Reservations) { #if defined(LLVM_ON_UNIX) && !defined(__ANDROID__)