Fix bug #10424
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
void librados::RadosClient::shutdown()
{
- // make sure watch callbacks are flushed
- watch_flush();
-
lock.Lock();
if (state == DISCONNECTED) {
lock.Unlock();
instance_id = 0;
timer.shutdown(); // will drop+retake lock
lock.Unlock();
- if (need_objecter)
+ if (need_objecter) {
+ // make sure watch callbacks are flushed
+ watch_flush();
objecter->shutdown();
+ }
monclient.shutdown();
if (messenger) {
messenger->shutdown();