mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Signal.list deduplicates keys
This allows us to reuse string objects used in symbols as well as any string representations of signal names in source code. * signal.c (sig_list): use fstring for hash key * test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a52be8fb8f
commit
667c0a3a8c
3 changed files with 12 additions and 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
|
||||
|
|
2
signal.c
2
signal.c
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue