diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | signal.c | 2 | ||||
-rw-r--r-- | test/ruby/test_signal.rb | 6 |
3 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Tue Jan 26 14:26:46 2016 Eric Wong <e@80x24.org> + + * signal.c (sig_list): use fstring for hash key + * test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added + Tue Jan 26 13:08:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> * signal.c (rb_f_kill): should immediately deliver reserved @@ -1347,7 +1347,7 @@ sig_list(void) const struct signals *sigs; for (sigs = siglist; sigs->signm; sigs++) { - rb_hash_aset(h, rb_str_new2(sigs->signm), INT2FIX(sigs->signo)); + rb_hash_aset(h, rb_fstring_cstr(sigs->signm), INT2FIX(sigs->signo)); } return h; } diff --git a/test/ruby/test_signal.rb b/test/ruby/test_signal.rb index 13d52013b0..c48a4ad400 100644 --- a/test/ruby/test_signal.rb +++ b/test/ruby/test_signal.rb @@ -301,4 +301,10 @@ EOS assert_ruby_status(['-e', 'Process.kill(:CONT, $$)']) end end if Process.respond_to?(:kill) + + def test_signal_list_dedupe_keys + a = Signal.list.keys.map(&:object_id).sort + b = Signal.list.keys.map(&:object_id).sort + assert_equal a, b + end end |