diff options
Diffstat (limited to 'spec/rubyspec/core/process/fixtures/kill.rb')
| -rw-r--r-- | spec/rubyspec/core/process/fixtures/kill.rb | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/spec/rubyspec/core/process/fixtures/kill.rb b/spec/rubyspec/core/process/fixtures/kill.rb deleted file mode 100644 index 0b88f8ee1f..0000000000 --- a/spec/rubyspec/core/process/fixtures/kill.rb +++ /dev/null @@ -1,45 +0,0 @@ -require 'thread' - -pid_file = ARGV.shift -scenario = ARGV.shift - -# We must do this first otherwise there will be a race with the process that -# creates this process and the TERM signal below could go to that process -# instead, which will likely abort the specs process. -Process.setsid if scenario - -mutex = Mutex.new - -Signal.trap(:TERM) do - if mutex.try_lock - STDOUT.puts "signaled" - STDOUT.flush - $signaled = true - end -end - -File.open(pid_file, "wb") { |f| f.puts Process.pid } - -if scenario - # We are sending a signal to the process group - process = "Process.getpgrp" - - case scenario - when "self" - signal = %["SIGTERM"] - process = "0" - when "group_numeric" - signal = %[-Signal.list["TERM"]] - when "group_short_string" - signal = %["-TERM"] - when "group_full_string" - signal = %["-SIGTERM"] - else - raise "unknown scenario: #{scenario.inspect}" - end - - code = "Process.kill(#{signal}, #{process})" - system(ENV["RUBY_EXE"], *ENV["RUBY_FLAGS"].split(' '), "-e", code) -end - -sleep 0.001 until mutex.locked? and $signaled |
