Issue #5556 has been updated by Brian Ford.


Apparently, I don't have a "practical and real world usecase" as a change in the behavior of running RubySpec doesn't qualify.

This change will potentially affect any program that subprocesses workers. If that's fine with you, great.

I'm simply asking for the change to be documented with tests. Do you have those?

> man sigaction.

That is unhelpful. I know what sigaction does. What is your definition of a "process" and why is changing the sighandler not thread-safe?
----------------------------------------
Bug #5556: SIGHUP no longer ignored when sent to process group from a subprocess
http://redmine.ruby-lang.org/issues/5556

Author: Brian Ford
Status: Feedback
Priority: Normal
Assignee: Motohiro KOSAKI
Category: core
Target version: 2.0.0
ruby -v: -


Hi,

Prior to 2.0.0dev, this script:

sasha:rubinius brian$ cat process.rb 
puts "before system"
system("ruby -e 'Process.kill(:HUP, 0)'")
puts "after system"

would print the following:

sasha:rubinius brian$ ruby1.9.2 -v process.rb 
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
before system
after system

Basically, SIGHUP was ignored when sent from a subprocess. Presently, this is the result:

sasha:rubinius brian$ ruby -v process.rb 
ruby 2.0.0dev (2011-11-01 trunk 33596) [x86_64-darwin10.8.0]
before system
Hangup

The following issue may be related, but the explanation is in Japanese, so I cannot follow it: http://redmine.ruby-lang.org/issues/4765

Is this change intentional? I discovered it running RubySpec, where there are specs for the behavior of sending SIGHUP to the process group.

Thanks,
Brian




-- 
http://redmine.ruby-lang.org