diff --git a/lib/modules/Concurrent.pmod b/lib/modules/Concurrent.pmod index 54eac28bba7d3326ed64c9be87fea116bac44fde..4cce37b1a728e288aa4d974ca6440cd87cf2b13e 100644 --- a/lib/modules/Concurrent.pmod +++ b/lib/modules/Concurrent.pmod @@ -233,7 +233,7 @@ class Future //! @[on_failure()], @[query_success_callbacks()] this_program on_success(function(mixed, __unknown__ ... : void) cb, mixed ... extra) { - Thread.MutexKey key = mux->lock(); + object(Thread.MutexKey)|zero key = mux->lock(); switch (state) { case STATE_FULFILLED: key = 0; @@ -275,9 +275,10 @@ class Future //! //! @seealso //! @[on_success()], @[query_failure_callbacks()] - this_program on_failure(function(mixed, __unknown__ ... : void) cb, mixed ... extra) + this_program on_failure(function(mixed, __unknown__ ... : void) cb, + mixed ... extra) { - Thread.MutexKey key = mux->lock(); + object(Thread.MutexKey)|zero key = mux->lock(); switch (state) { case STATE_REJECTED: state = STATE_REJECTION_REPORTED; @@ -833,7 +834,7 @@ class Promise protected this_program finalise(State newstate, mixed value, int try) { - Thread.MutexKey key = mux->lock(); + object(Thread.MutexKey)|zero key = mux->lock(); if (state <= STATE_PENDING) { state = newstate; @@ -855,7 +856,7 @@ class Promise state = STATE_REJECTION_REPORTED; } } - failure_cbs = success_cbs = 0; // Free memory and references + failure_cbs = success_cbs = ({}); // Free memory and references } else {