]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
monc: fix race/deadlock for get_monmap_privately
authorSage Weil <sage@newdream.net>
Fri, 13 Nov 2009 18:40:02 +0000 (10:40 -0800)
committerSage Weil <sage@newdream.net>
Sat, 14 Nov 2009 00:38:52 +0000 (16:38 -0800)
src/mon/MonClient.cc

index df6d75bafb8c14416af8fc66b17dc14ede65ea94..180ac64bd9fee8d5c5d72bcd56f90667efd38fdd 100644 (file)
@@ -155,12 +155,14 @@ int MonClient::get_monmap_privately()
     utime_t interval(1, 0);
     map_cond.WaitInterval(monc_lock, interval);
   }
-  
+
   if (temp_msgr) {
+    monc_lock.Unlock();
     messenger->shutdown();
     rank->wait();
     messenger->destroy();
     messenger = 0;
+    monc_lock.Lock();
   }
  
   hunting = true;  // reset this to true!