summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/tokio_util.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/runtime/tokio_util.rs b/runtime/tokio_util.rs
index 6ae81167e..da6e8b221 100644
--- a/runtime/tokio_util.rs
+++ b/runtime/tokio_util.rs
@@ -99,7 +99,13 @@ where
#[cfg(not(tokio_unstable))]
let join_handle = rt.spawn(future);
- rt.block_on(join_handle).unwrap().into_inner()
+ let r = rt.block_on(join_handle).unwrap().into_inner();
+ // Forcefully shutdown the runtime - we're done executing JS code at this
+ // point, but there might be outstanding blocking tasks that were created and
+ // latered "unrefed". They won't terminate on their own, so we're forcing
+ // termination of Tokio runtime at this point.
+ rt.shutdown_background();
+ r
}
#[inline(always)]