From 256540934b9139e50f59c7ad0a7cb72c70ac13c9 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Mon, 23 Jun 2025 17:27:22 +0800 Subject: [PATCH] reject long timeouts as we're shutting down --- src/runtime/loop.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/runtime/loop.zig b/src/runtime/loop.zig index 46d12763..71cd7f8a 100644 --- a/src/runtime/loop.zig +++ b/src/runtime/loop.zig @@ -193,6 +193,11 @@ pub const Loop = struct { } pub fn timeout(self: *Self, nanoseconds: u63, callback_node: ?*CallbackNode) !usize { + if (self.stopping and nanoseconds > std.time.ns_per_ms * 500) { + // we're trying to shutdown, we probably don't want to wait for a new + // long timeout + return 0; + } const completion = try self.alloc.create(Completion); errdefer self.alloc.destroy(completion); completion.* = undefined;