Commit 4803624d authored by Joseph Noir's avatar Joseph Noir

Fix message processing with terminating broker

parent b5c049b6
...@@ -861,7 +861,9 @@ protected: ...@@ -861,7 +861,9 @@ protected:
else else
consumed = reader_->consume(&backend(), itr->second, rd_buf_); consumed = reader_->consume(&backend(), itr->second, rd_buf_);
prepare_next_read(); prepare_next_read();
if (!consumed) { if (!consumed
|| (reader_->parent() != nullptr
&& reader_->parent()->finalize())) {
passivate(); passivate();
return; return;
} }
......
...@@ -276,6 +276,7 @@ void abstract_broker::move_datagram_servant(datagram_servant_ptr ptr) { ...@@ -276,6 +276,7 @@ void abstract_broker::move_datagram_servant(datagram_servant_ptr ptr) {
CAF_ASSERT(ptr != nullptr); CAF_ASSERT(ptr != nullptr);
CAF_ASSERT(ptr->parent() != nullptr && ptr->parent() != this); CAF_ASSERT(ptr->parent() != nullptr && ptr->parent() != this);
ptr->set_parent(this); ptr->set_parent(this);
launch_servant(ptr);
CAF_ASSERT(ptr->parent() == this); CAF_ASSERT(ptr->parent() == this);
auto hdls = ptr->hdls(); auto hdls = ptr->hdls();
for (auto& hdl : hdls) for (auto& hdl : hdls)
......
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