From adbc87857e6a322db59bc3a7afccefedfdb4e6d3 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Tue, 19 Feb 2019 13:33:34 +0800 Subject: [PATCH] DEV: Fix randomly failing test. Even if a thread is alive in the loop check, it may be dead by the time `Thread#wakeup` is called on it. --- lib/sidekiq/pausable.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/sidekiq/pausable.rb b/lib/sidekiq/pausable.rb index 8007a354593..57fa22123f5 100644 --- a/lib/sidekiq/pausable.rb +++ b/lib/sidekiq/pausable.rb @@ -61,7 +61,14 @@ class SidekiqPauser if t = @extend_lease_thread @extend_lease_thread = nil while t.alive? - t.wakeup + begin + t.wakeup + rescue ThreadError => e + unless e.message =~ /killed thread/ + raise e + end + end + sleep 0 end end