Commit 8980cf9b authored by Marian Triebe's avatar Marian Triebe

Fix race in `scheduled_actor`

The race caused a heap use after free.
parent a4302865
...@@ -219,8 +219,9 @@ scheduled_actor::resume(execution_unit* ctx, size_t max_throughput) { ...@@ -219,8 +219,9 @@ scheduled_actor::resume(execution_unit* ctx, size_t max_throughput) {
while (handled_msgs < max_throughput) { while (handled_msgs < max_throughput) {
do { do {
ptr = next_message(); ptr = next_message();
if (!ptr && mailbox().try_block()) { if (!ptr) {
reset_timeout_if_needed(); reset_timeout_if_needed();
if (mailbox.try_block())
return resumable::awaiting_message; return resumable::awaiting_message;
} }
} while (!ptr); } while (!ptr);
......
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