diff --git a/lib/modules/Concurrent.pmod b/lib/modules/Concurrent.pmod index c5fb0362c1fbb3698dc6b34ff2cecaffa6dac5b8..bf855169282a16f572efe257fbca0e4f87c998a0 100644 --- a/lib/modules/Concurrent.pmod +++ b/lib/modules/Concurrent.pmod @@ -235,6 +235,7 @@ class Future Thread.MutexKey key = mux->lock(); switch (state) { case STATE_FULFILLED: + key = 0; call_callback(cb, result, @extra); break; case STATE_NO_FUTURE: @@ -281,6 +282,7 @@ class Future state = STATE_REJECTION_REPORTED; // FALL_THROUGH case STATE_REJECTION_REPORTED: + key = 0; call_callback(cb, result, @extra); break; case STATE_NO_FUTURE: