From: co000ri@... Date: 2017-06-08T05:22:29+00:00 Subject: [ruby-core:81617] [Ruby trunk Feature#13639] Add "RTMIN" and "RTMAX" to Signal.list Issue #13639 has been reported by ksss (Yuki Kurihara). ---------------------------------------- Feature #13639: Add "RTMIN" and "RTMAX" to Signal.list https://bugs.ruby-lang.org/issues/13639 * Author: ksss (Yuki Kurihara) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- I propose to add the key "RTMIN" and "RTMAX" to Signal.list Currently, We can't know signal number for realtime-signal at own environment in Ruby. And it's not potable if hard code number literal. So, How about this idea? Use case: ~~~ruby unless Signal.list["RTMIN"] raise "realtime-signal does not supported" end MY_SIGNAL = Signal.list["RTMIN"] + 1 Signal.trap(MY_SIGNAL) do |i| puts "Hello MY_SIGNAL" end Process.kill(MY_SIGNAL, $$) #=> "Hello MY_SIGNAL" ~~~ Patch: ~~~diff diff --git a/signal.c b/signal.c index 8ee0963b8a..f17836350a 100644 --- a/signal.c +++ b/signal.c @@ -1381,6 +1381,12 @@ sig_list(void) for (sigs = siglist; sigs->signm; sigs++) { rb_hash_aset(h, rb_fstring_cstr(sigs->signm), INT2FIX(sigs->signo)); } +#ifdef SIGRTMIN + rb_hash_aset(h, rb_fstring_cstr("RTMIN"), INT2FIX(SIGRTMIN)); +#endif +#ifdef SIGRTMAX + rb_hash_aset(h, rb_fstring_cstr("RTMAX"), INT2FIX(SIGRTMAX)); +#endif return h; } ~~~ Inspired by https://github.com/ksss/mruby-signal/pull/3 and @takumakume -- https://bugs.ruby-lang.org/ Unsubscribe: