diff --git a/src/sources/futures.rs b/src/sources/futures.rs index 0207dc87..3a56e005 100644 --- a/src/sources/futures.rs +++ b/src/sources/futures.rs @@ -329,6 +329,9 @@ impl EventSource for Executor { _ => unreachable!(), }; + // Drop the guard since the callback may register another future to the scheduler. + drop(active_guard); + callback(result, &mut ()); } }