From 248cb2bcdf7fa07aba00844a9f579fbca100730d Mon Sep 17 00:00:00 2001 From: Eric Cano <Eric.Cano@cern.ch> Date: Sun, 8 Oct 2017 21:34:42 +0200 Subject: [PATCH] Fixed partial fix in previous commit --- objectstore/BackendRados.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/objectstore/BackendRados.cpp b/objectstore/BackendRados.cpp index 0d08db6bb3..6308f7ab56 100644 --- a/objectstore/BackendRados.cpp +++ b/objectstore/BackendRados.cpp @@ -212,6 +212,7 @@ BackendRados::LockWatcher::LockWatcher(librados::IoCtx& context, const std::stri void BackendRados::LockWatcher::handle_error(uint64_t cookie, int err) { threading::MutexLocker ml(m_promiseMutex); + if (m_promiseSet) return; m_promise.set_value(); TIMESTAMPEDPRINT("Handled notify"); m_promiseSet = true; @@ -219,6 +220,7 @@ void BackendRados::LockWatcher::handle_error(uint64_t cookie, int err) { void BackendRados::LockWatcher::handle_notify(uint64_t notify_id, uint64_t cookie, uint64_t notifier_id, librados::bufferlist& bl) { threading::MutexLocker ml(m_promiseMutex); + if (m_promiseSet) return; m_promise.set_value(); TIMESTAMPEDPRINT("Handled notify"); m_promiseSet = true; -- GitLab