From: Sage Weil Date: Fri, 13 Nov 2009 18:40:02 +0000 (-0800) Subject: monc: fix race/deadlock for get_monmap_privately X-Git-Tag: v0.18~98^2~7^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=37145dc154eba73fd054c2c2279932e392aa3f84;p=ceph.git monc: fix race/deadlock for get_monmap_privately --- diff --git a/src/mon/MonClient.cc b/src/mon/MonClient.cc index df6d75bafb8c..180ac64bd9fe 100644 --- a/src/mon/MonClient.cc +++ b/src/mon/MonClient.cc @@ -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!