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