From 8b6d0045237663f7bb03cd423b6aff7aa8371086 Mon Sep 17 00:00:00 2001 From: Patrick LeBlanc Date: Thu, 2 Jan 2020 12:16:05 -0500 Subject: [PATCH] Noticed a potential deadlock problem in poolallocator. --- utils/common/poolallocator.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/utils/common/poolallocator.cpp b/utils/common/poolallocator.cpp index da6f7d6c1..170eb2e56 100644 --- a/utils/common/poolallocator.cpp +++ b/utils/common/poolallocator.cpp @@ -93,7 +93,11 @@ void PoolAllocator::deallocate(void* p) OutOfBandMap::iterator it = oob.find(p); if (it == oob.end()) + { + if (useLock) + lock.store(false, std::memory_order_release); return; + } memUsage -= it->second.size; oob.erase(it);