1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/win32ole] Scale timeout in win32ole

https://github.com/ruby/win32ole/commit/7e04d0eb3e
This commit is contained in:
Nobuyoshi Nakada 2021-11-21 18:11:33 +09:00
parent ae95939784
commit 270c48507d
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
Notes: git 2021-11-25 23:56:20 +09:00

View file

@ -65,12 +65,13 @@ if defined?(WIN32OLE_EVENT)
if watch_ivar
# wait until event is proceeded
tries = 0
seconds = EnvUtil.apply_timeout_scale(1)
while tries < 5 && instance_variable_get(watch_ivar) == orig_ivar
seconds = 2 ** tries # sleep at most 31s in total
$stderr.puts "test_win32ole_event.rb: retrying and sleeping #{seconds}s until #{watch_ivar} is changed from #{orig_ivar.inspect}..."
WIN32OLE_EVENT.message_loop
sleep(seconds)
tries += 1
seconds *= 2 # sleep at most 31s in total
end
end
end