[ruby/timeout] Set the flag surely before return

https://github.com/ruby/timeout/commit/f3a31abdfb
This commit is contained in:
Nobuyoshi Nakada 2022-05-25 19:50:36 +09:00 committed by git
parent 1528770794
commit cd6f87eefc

View File

@ -98,8 +98,7 @@ module Timeout
private_constant :Request
def self.create_timeout_thread
Thread.new do
Thread.current.thread_variable_set(:"\0__detached_thread__", true)
watcher = Thread.new do
requests = []
while true
until QUEUE.empty? and !requests.empty? # wait to have at least one request
@ -121,6 +120,8 @@ module Timeout
requests.reject!(&:done?)
end
end
watcher.thread_variable_set(:"\0__detached_thread__", true)
watcher
end
private_class_method :create_timeout_thread