]> git.apps.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)
committerNathan Cutler <ncutler@suse.com>
Mon, 21 Oct 2019 21:43:28 +0000 (23:43 +0200)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 0fb123a2f6d60b4fdaf22ddcbd54d1b6b8ea96e9)

src/mon/MonClient.cc

index 37e4c347f5b8e738c7b348aac535aab6073a12d7..392bc7ff067adbf28c5cd3346b85a07f5cac7a2e 100644 (file)
@@ -1117,7 +1117,9 @@ void MonClient::start_mon_command(const 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);
@@ -1152,7 +1154,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);
@@ -1174,7 +1178,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);