From 067d56977305ff72cd5af0b067cfa1b69789b88b Mon Sep 17 00:00:00 2001 From: Haomai Wang Date: Mon, 6 Feb 2017 14:45:21 +0800 Subject: [PATCH] msg/async: fix missing unlock when already bind Signed-off-by: Haomai Wang --- src/msg/async/AsyncMessenger.cc | 4 +--- src/msg/simple/SimpleMessenger.cc | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/msg/async/AsyncMessenger.cc b/src/msg/async/AsyncMessenger.cc index 506b71be471ff..3200f5e539a35 100644 --- a/src/msg/async/AsyncMessenger.cc +++ b/src/msg/async/AsyncMessenger.cc @@ -393,18 +393,16 @@ int AsyncMessenger::rebind(const set& 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; diff --git a/src/msg/simple/SimpleMessenger.cc b/src/msg/simple/SimpleMessenger.cc index 8897f2287bc1a..600f26c3f1c22 100644 --- a/src/msg/simple/SimpleMessenger.cc +++ b/src/msg/simple/SimpleMessenger.cc @@ -309,19 +309,16 @@ int SimpleMessenger::rebind(const set& 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; -- 2.39.5