mirror of
https://github.com/ceph/ceph
synced 2024-12-26 21:43:10 +00:00
msgr: Unlock dispatch_queue.lock when short-circuiting queue_received.
Previously we left the mutex locked, which is obviously bad bad bad! I believe this was the cause of #673. Signed-off-by: Greg Farnum <gregf@hq.newdream.net>
This commit is contained in:
parent
4efa300601
commit
20593b0d38
@ -551,8 +551,10 @@ void SimpleMessenger::Pipe::queue_received(Message *m, int priority)
|
||||
messenger->dispatch_queue.lock.Lock();
|
||||
pipe_lock.Lock();
|
||||
|
||||
if (halt_delivery)
|
||||
if (halt_delivery) {
|
||||
messenger->dispatch_queue.lock.Unlock();
|
||||
goto halt;
|
||||
}
|
||||
|
||||
dout(20) << "queue_received queuing pipe" << dendl;
|
||||
if (!queue_items.count(priority))
|
||||
|
Loading…
Reference in New Issue
Block a user