From 40504d501355c6baeea1c320c496eee07434cc9b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 30 Jan 2009 11:00:43 -0800 Subject: [PATCH] msgr: fix WAIT connection race handling Not sure why it wasn't setting STATE_WAIT before. Works now. --- src/msg/SimpleMessenger.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index 1110ba428bcd8..25d7088be0f6e 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -1298,7 +1298,8 @@ int Rank::Pipe::connect() } if (reply.tag == CEPH_MSGR_TAG_WAIT) { - dout(3) << "connect got WAIT (connection race), and lo, the wait is already over" << dendl; + dout(3) << "connect got WAIT (connection race)" << dendl; + state = STATE_WAIT; goto stop_locked; } @@ -1736,7 +1737,7 @@ void Rank::Pipe::writer() { lock.Lock(); - while (state != STATE_CLOSED) { // && state != STATE_WAIT) { + while (state != STATE_CLOSED) {// && state != STATE_WAIT) { // standby? if (!q.empty() && state == STATE_STANDBY) state = STATE_CONNECTING; -- 2.39.5