Cannot send signal to process group on Windows
This commit is contained in:
parent
d22e766042
commit
cec45aedb5
Notes:
git
2025-04-09 13:49:37 +00:00
@ -83,14 +83,16 @@ File.foreach("#{gem_dir}/bundled_gems") do |line|
|
|||||||
if /mingw|mswin/ =~ RUBY_PLATFORM
|
if /mingw|mswin/ =~ RUBY_PLATFORM
|
||||||
timeouts.delete(:TERM) # Inner process signal on Windows
|
timeouts.delete(:TERM) # Inner process signal on Windows
|
||||||
group = :new_pgroup
|
group = :new_pgroup
|
||||||
|
pg = ""
|
||||||
else
|
else
|
||||||
group = :pgroup
|
group = :pgroup
|
||||||
|
pg = "-"
|
||||||
end
|
end
|
||||||
pid = Process.spawn(test_command, group => true)
|
pid = Process.spawn(test_command, group => true)
|
||||||
timeouts.each do |sig, sec|
|
timeouts.each do |sig, sec|
|
||||||
if sig
|
if sig
|
||||||
puts "Sending #{sig} signal"
|
puts "Sending #{sig} signal"
|
||||||
Process.kill("-#{sig}", pid)
|
Process.kill("#{pg}#{sig}", pid)
|
||||||
end
|
end
|
||||||
begin
|
begin
|
||||||
break Timeout.timeout(sec) {Process.wait(pid)}
|
break Timeout.timeout(sec) {Process.wait(pid)}
|
||||||
@ -98,7 +100,7 @@ File.foreach("#{gem_dir}/bundled_gems") do |line|
|
|||||||
end
|
end
|
||||||
rescue Interrupt
|
rescue Interrupt
|
||||||
exit_code = Signal.list["INT"]
|
exit_code = Signal.list["INT"]
|
||||||
Process.kill("-KILL", pid)
|
Process.kill("#{pg}KILL", pid)
|
||||||
Process.wait(pid)
|
Process.wait(pid)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user