mirror of
https://github.com/ceph/ceph
synced 2025-01-03 17:42:36 +00:00
mon/MonClient: fix shutdown race
While we are shutting down, we should drop all subsequent mon messages. Currently it is possible to finish the authentication sequence *while* we are shutting down, such that a subsequent attempt to authenticate succeeds. Fix this by resetting cur_con early in the sequence, as this makes us drop all incoming messages. Fixes: http://tracker.ceph.com/issues/13992 Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
parent
cd3385b59f
commit
5b44a348bf
@ -426,6 +426,11 @@ void MonClient::shutdown()
|
||||
waiting_for_session.pop_front();
|
||||
}
|
||||
|
||||
if (cur_con)
|
||||
cur_con->mark_down();
|
||||
cur_con.reset(NULL);
|
||||
cur_mon.clear();
|
||||
|
||||
monc_lock.Unlock();
|
||||
|
||||
if (initialized) {
|
||||
@ -434,11 +439,6 @@ void MonClient::shutdown()
|
||||
monc_lock.Lock();
|
||||
timer.shutdown();
|
||||
|
||||
if (cur_con)
|
||||
cur_con->mark_down();
|
||||
cur_con.reset(NULL);
|
||||
cur_mon.clear();
|
||||
|
||||
monc_lock.Unlock();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user