diff options
author | Lars Kanis <lars@greiz-reinsdorf.de> | 2022-09-25 11:14:11 +0200 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-09-28 01:59:35 +0900 |
commit | 9d56d9975d867c94ab2a6d76e4482112ab6c3319 (patch) | |
tree | ecf30a93083f46d0f4efae0db32b6429314ac29f /lib | |
parent | 1a06bc94d96ab4be4386b0ccd802d11380fa4e84 (diff) |
[ruby/timeout] Explicit add the timeout thread to default ThreadGroup
Otherwise the timeout thread would be added to the ThreadGroup of the thread that makes the first call to Timeout.timeout .
Fixes bug 19020: https://bugs.ruby-lang.org/issues/19020
Add a test case to make sure the common thread doesn't leak to another ThreadGroup
https://github.com/ruby/timeout/commit/c4f1385c9a
Diffstat (limited to 'lib')
-rw-r--r-- | lib/timeout.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/timeout.rb b/lib/timeout.rb index 2aad1d7465..badba9a397 100644 --- a/lib/timeout.rb +++ b/lib/timeout.rb @@ -120,6 +120,7 @@ module Timeout requests.reject!(&:done?) end end + ThreadGroup::Default.add(watcher) watcher.name = "Timeout stdlib thread" watcher.thread_variable_set(:"\0__detached_thread__", true) watcher |