Feature #1038
closedSignal.trapのcommandにSymbol
Description
=begin
Signal.trapの第1引数のsignalの方はSymbolでも受け付けるので
第2引数のcommandの方も"SIG_IGN"などをStringだけではなく
Symbolでも受け付けるようにしてほしいです。
% ruby-trunk -ve 'Signal.trap(:CHLD,:IGNORE);fork{exec("true")};sleep 1'
ruby 1.9.1p5000 (2009-01-21 trunk 21717) [i686-linux]
-e:1:in sleep': undefined method
call' for :IGNORE:Symbol (NoMethodError)
from -e:1:in `'
% ruby-trunk -ve 'Signal.trap(:CHLD,"IGNORE");fork{exec("true")};sleep 1'
ruby 1.9.1p5000 (2009-01-21 trunk 21717) [i686-linux]
%
=end
Updated by nobu (Nobuyoshi Nakada) about 15 years ago
=begin
なかだです。
At Thu, 22 Jan 2009 18:20:53 +0900,
Kazuhiro NISHIYAMA wrote in [ruby-dev:37823]:
Signal.trapの第1引数のsignalの方はSymbolでも受け付けるので
第2引数のcommandの方も"SIG_IGN"などをStringだけではなく
Symbolでも受け付けるようにしてほしいです。
こんなとこでしょうか。
Index: signal.c
--- signal.c (revision 21724)
+++ signal.c (working copy)
@@ -754,4 +754,8 @@ trap_handler(VALUE *cmd, int sig)
else {
command = rb_check_string_type(*cmd);
- if (NIL_P(command) && SYMBOL_P(*cmd)) {
-
command = rb_id2str(SYM2ID(*cmd));
-
if (!command) rb_raise(rb_eArgError, "bad handler");
- }
if (!NIL_P(command)) {
SafeStringValue(command); /* taint check */
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦
=end
Updated by matz (Yukihiro Matsumoto) about 15 years ago
=begin
まつもと ゆきひろです
In message "Re: [ruby-dev:37828] Re: [Feature #1038] Signal.trapのcommandにSymbol"
on Fri, 23 Jan 2009 12:50:57 +0900, Nobuyoshi Nakada nobu@ruby-lang.org writes:
|At Thu, 22 Jan 2009 18:20:53 +0900,
|Kazuhiro NISHIYAMA wrote in [ruby-dev:37823]:
|> Signal.trapの第1引数のsignalの方はSymbolでも受け付けるので
|> 第2引数のcommandの方も"SIG_IGN"などをStringだけではなく
|> Symbolでも受け付けるようにしてほしいです。
|
|こんなとこでしょうか。
コミットしてください。
=end
Updated by nobu (Nobuyoshi Nakada) about 15 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r21746.
=end