diff --git a/fairmq/shmem/Manager.cxx b/fairmq/shmem/Manager.cxx index f76c111c..f4364f67 100644 --- a/fairmq/shmem/Manager.cxx +++ b/fairmq/shmem/Manager.cxx @@ -193,7 +193,7 @@ Manager::~Manager() { bool lastRemoved = false; - { + try { bipc::scoped_lock lock(fShmMtx); (fDeviceCounter->fCount)--; @@ -206,6 +206,8 @@ Manager::~Manager() } else { LOG(debug) << "other segment users present (" << fDeviceCounter->fCount << "), not removing it."; } + } catch(bie& e) { + LOG(error) << "error while acquiring lock in Manager destructor: " << e.what(); } if (lastRemoved) {