]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async: fix missing unlock when already bind 13267/head
authorHaomai Wang <haomai@xsky.com>
Mon, 6 Feb 2017 06:45:21 +0000 (14:45 +0800)
committerHaomai Wang <haomai@xsky.com>
Sat, 18 Feb 2017 06:16:30 +0000 (14:16 +0800)
Signed-off-by: Haomai Wang <haomai@xsky.com>
src/msg/async/AsyncMessenger.cc
src/msg/simple/SimpleMessenger.cc

index 506b71be471ff06a756a6905cfa05a55dd292e7f..3200f5e539a354a714181f1969b7fa490eeac875 100644 (file)
@@ -393,18 +393,16 @@ int AsyncMessenger::rebind(const set<int>& avoid_ports)
 
 int AsyncMessenger::client_bind(const entity_addr_t &bind_addr)
 {
-  lock.Lock();
+  Mutex::Locker l(lock);
   if (did_bind) {
     assert(my_inst.addr == bind_addr);
     return 0;
   }
   if (started) {
     ldout(cct, 10) << __func__ << " already started" << dendl;
-    lock.Unlock();
     return -1;
   }
   ldout(cct, 10) << __func__ << " " << bind_addr << dendl;
-  lock.Unlock();
 
   set_myaddr(bind_addr);
   return 0;
index 8897f2287bc1af1c4201c03b10ca3b8652bdbfb6..600f26c3f1c224fbe6136a96d2aca557a29ab813 100644 (file)
@@ -309,19 +309,16 @@ int SimpleMessenger::rebind(const set<int>& avoid_ports)
 
 int SimpleMessenger::client_bind(const entity_addr_t &bind_addr)
 {
-  lock.Lock();
+  Mutex::Locker l(lock);
   if (did_bind) {
     assert(my_inst.addr == bind_addr);
-    lock.Unlock();
     return 0;
   }
   if (started) {
     ldout(cct,10) << "rank.bind already started" << dendl;
-    lock.Unlock();
     return -1;
   }
   ldout(cct,10) << "rank.bind " << bind_addr << dendl;
-  lock.Unlock();
 
   set_myaddr(bind_addr);
   return 0;