diff --git a/spec/nio/selector_spec.rb b/spec/nio/selector_spec.rb index 54c5b28..9980d0e 100644 --- a/spec/nio/selector_spec.rb +++ b/spec/nio/selector_spec.rb @@ -188,7 +188,8 @@ it "works with signals on the main thread" do 1000.times do begin - pid = fork do + pid = Process.spawn('ruby', '-e', <<-'EOF' + require 'nio' begin r, _w = IO.pipe selector = NIO::Selector.new @@ -204,9 +205,10 @@ raise if ["TERM", "INT"].none? {|sig| Signal.list[sig] == e.signo} $stderr.write("#{Process.pid}: rescued #{e}\n") end - end +EOF + ) - sleep(0.1) + sleep(1) ensure $stderr.write("sending term\n") Process.kill(:TERM, pid)