diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-23 04:25:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-23 04:25:29 +0000 |
commit | 9e22c8390c0ff2e925762c636969e5a584c0b8a7 (patch) | |
tree | c833d6f5e5d37f32511b8b75f35421033f9b9b27 /signal.c | |
parent | 770d89c5fa39e6dff431c0fbc44e68db91440aae (diff) | |
download | ruby-9e22c8390c0ff2e925762c636969e5a584c0b8a7.tar.gz |
* signal.c (trap_handler): also accepts symbols. [ruby-dev:37823]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -753,6 +753,10 @@ 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 */ *cmd = command; |