diff options
Diffstat (limited to 'spec/rubyspec/core')
-rw-r--r-- | spec/rubyspec/core/process/fixtures/kill.rb | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/spec/rubyspec/core/process/fixtures/kill.rb b/spec/rubyspec/core/process/fixtures/kill.rb index abc8a2db2d..00b5223b90 100644 --- a/spec/rubyspec/core/process/fixtures/kill.rb +++ b/spec/rubyspec/core/process/fixtures/kill.rb @@ -9,16 +9,13 @@ ruby_exe = ARGV.shift # instead, which will likely abort the specs process. Process.setsid if scenario -signaled = false mutex = Mutex.new Signal.trap(:TERM) do if mutex.try_lock - unless signaled - signaled = true - STDOUT.puts "signaled" - STDOUT.flush - end + STDOUT.puts "signaled" + STDOUT.flush + $signaled = true end end @@ -46,4 +43,4 @@ if scenario system(*ruby_exe.split(' '), "-e", code) end -sleep 0.001 until signaled +sleep 0.001 until mutex.locked? and $signaled |