diff options
Diffstat (limited to 'lib/webrick')
-rw-r--r-- | lib/webrick/utils.rb | 5 |
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 |