From: mame@... Date: 2021-06-17T14:37:31+00:00 Subject: [ruby-core:104344] [Ruby master Bug#16835] SIGCHLD + system new behavior on 2.6 Issue #16835 has been updated by mame (Yusuke Endoh). Status changed from Open to Rejected We discussed this ticket at today's dev-meeting. We agreed that we should change nothing for this. Indeed it looked an unintentional change, but it is too late to revert the behavior because Ruby 2.6 was released three years ago and is already under the security maintenance phase. Also, it is not trivial whether SIGCHILD should be blocked or signaled. ---------------------------------------- Bug #16835: SIGCHLD + system new behavior on 2.6 https://bugs.ruby-lang.org/issues/16835#change-92566 * Author: maths22 (Jacob Burroughs) * Status: Rejected * Priority: Normal * ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]` * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- In rubies < 2.5, the `system` command did not trigger sigchld signal traps. On ruby >= 2.6 it does. This appears to have been introduced by https://github.com/ruby/ruby/commit/054a412d540e7ed2de63d68da753f585ea6616c3 . To observe the change in behavior, run the following code on ruby 2.5 and 2.6: ``` ruby Signal.trap("CLD") { puts "Child died" }; system("true") ``` On ruby 2.5 it won't print anything. On ruby 2.6 it will print "Child died". I believe this is an unintended, undocumented change in behavior, but I may be wrong about that. -- https://bugs.ruby-lang.org/ Unsubscribe: