Project

General

Profile

Feature #1038

Signal.trapのcommandにSymbol

Added by znz (Kazuhiro NISHIYAMA) over 10 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-dev:37823]

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 methodcall' 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

History

#1

Updated by nobu (Nobuyoshi Nakada) over 10 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

#2

Updated by matz (Yukihiro Matsumoto) over 10 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

#3

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r21746.
=end

Also available in: Atom PDF