From 93825bf05aef4db1d1c86f64aa2e64719f3e6684 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 19 Dec 2014 11:50:38 -0800 Subject: [PATCH] librados: watch_flush() on shutdown Users can easily forget this. It makes shutdown potentially block, but if they have racing callbacks they get what they ask for. Signed-off-by: Sage Weil (cherry picked from commit 30678f6daf0a71b6074c061c6b4aec6386372368) --- src/librados/RadosClient.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index c2986fb4332..a5b89a07960 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -282,6 +282,9 @@ int librados::RadosClient::connect() void librados::RadosClient::shutdown() { + // make sure watch callbacks are flushed + watch_flush(); + lock.Lock(); if (state == DISCONNECTED) { lock.Unlock(); -- 2.47.3