summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/process/fixtures/kill.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/core/process/fixtures/kill.rb')
-rw-r--r--spec/rubyspec/core/process/fixtures/kill.rb45
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