Commit 4f733a59 authored by ufownl's avatar ufownl

Fix broker quit flow

Fix the bug that broker can not exit normally when calling quit in
the `connection_closed_msg` handler.
parent 177277d6
......@@ -56,8 +56,14 @@ void manager::detach(execution_unit*, bool invoke_disconnect_message) {
if (invoke_disconnect_message) {
auto mptr = make_mailbox_element(nullptr, invalid_message_id,
{}, detach_message());
if (raw_ptr->consume(*mptr) == im_skipped)
raw_ptr->push_to_cache(std::move(mptr));
switch (raw_ptr->consume(*mptr)) {
case im_success:
raw_ptr->finalize();
break;
case im_skipped:
raw_ptr->push_to_cache(std::move(mptr));
break;
}
}
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment