From c72e30e4c8219570c5e674d8906a3833843fe13d Mon Sep 17 00:00:00 2001 From: sageweil Date: Sat, 26 May 2007 15:24:31 +0000 Subject: [PATCH] * grab rank lock while changing local map! git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1382 29311d96-e01e-0410-9327-a35deaab8ce9 --- trunk/ceph/msg/SimpleMessenger.cc | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/trunk/ceph/msg/SimpleMessenger.cc b/trunk/ceph/msg/SimpleMessenger.cc index 35b141c1dc0fb..34d5b180e4e46 100644 --- a/trunk/ceph/msg/SimpleMessenger.cc +++ b/trunk/ceph/msg/SimpleMessenger.cc @@ -1158,13 +1158,17 @@ const entity_addr_t &Rank::EntityMessenger::get_myaddr() void Rank::EntityMessenger::reset_myname(entity_name_t newname) { - entity_name_t oldname = get_myname(); - dout(10) << "reset_myname " << oldname << " to " << newname << endl; - - rank.local.erase(oldname); - rank.local[newname] = this; - - _set_myname(newname); + rank.lock.Lock(); + { + entity_name_t oldname = get_myname(); + dout(10) << "reset_myname " << oldname << " to " << newname << endl; + + rank.local.erase(oldname); + rank.local[newname] = this; + + _set_myname(newname); + } + rank.lock.Unlock(); } -- 2.39.5