aboutsummaryrefslogtreecommitdiffstats
path: root/lib/webrick
diff options
context:
space:
mode:
Diffstat (limited to 'lib/webrick')
-rw-r--r--lib/webrick/utils.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/webrick/utils.rb b/lib/webrick/utils.rb
index ed0f3da615..9c978a2b7b 100644
--- a/lib/webrick/utils.rb
+++ b/lib/webrick/utils.rb
@@ -177,8 +177,9 @@ module WEBrick
@queue.pop
elsif (wakeup -= now) > 0
begin
- Timeout.timeout(wakeup) { @queue.pop }
- rescue Timeout::Error
+ (th = Thread.start {@queue.pop}).join(wakeup)
+ ensure
+ th&.kill&.join
end
end
@queue.clear