]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MonClient: tolerate null onfinish during shutdown
authorSage Weil <sage@redhat.com>
Tue, 16 Jul 2019 22:39:46 +0000 (17:39 -0500)
committerGreg Farnum <gfarnum@redhat.com>
Wed, 21 Aug 2019 21:50:22 +0000 (14:50 -0700)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/MonClient.cc

index f955d5d766604f02d81b9bf0b70ce1bc9e47e953..729e9f4f5c1b8ec7d258cd9f18aca573254b9e58 100644 (file)
@@ -1145,7 +1145,9 @@ void MonClient::start_mon_command(const std::vector<string>& cmd,
 {
   std::lock_guard l(monc_lock);
   if (!initialized || stopping) {
-    onfinish->complete(-ECANCELED);
+    if (onfinish) {
+      onfinish->complete(-ECANCELED);
+    }
     return;
   }
   MonCommand *r = new MonCommand(++last_mon_command_tid);
@@ -1180,7 +1182,9 @@ void MonClient::start_mon_command(const string &mon_name,
 {
   std::lock_guard l(monc_lock);
   if (!initialized || stopping) {
-    onfinish->complete(-ECANCELED);
+    if (onfinish) {
+      onfinish->complete(-ECANCELED);
+    }
     return;
   }
   MonCommand *r = new MonCommand(++last_mon_command_tid);
@@ -1202,7 +1206,9 @@ void MonClient::start_mon_command(int rank,
 {
   std::lock_guard l(monc_lock);
   if (!initialized || stopping) {
-    onfinish->complete(-ECANCELED);
+    if (onfinish) {
+      onfinish->complete(-ECANCELED);
+    }
     return;
   }
   MonCommand *r = new MonCommand(++last_mon_command_tid);