From 9f4db3bcdbfc485fc49a934d0f1652542e27b7ec Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 9 Jun 2017 08:30:24 +0000 Subject: signal.c: warn at unresserved signals git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- signal.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'signal.c') diff --git a/signal.c b/signal.c index f9da23b4de..a3e05e44f2 100644 --- a/signal.c +++ b/signal.c @@ -1386,7 +1386,10 @@ sig_list(void) return h; } -#define install_sighandler_fail(signum) rb_bug("failed to install "signum" handler") +#define install_sighandler_fail(signame, signum) \ + (reserved_signal_p(signum) ? \ + rb_bug("failed to install "signame" handler") : \ + perror("failed to install "signame" handler")) static int install_sighandler(int signum, sighandler_t handler) { @@ -1402,8 +1405,8 @@ install_sighandler(int signum, sighandler_t handler) } #ifndef __native_client__ # define install_sighandler(signum, handler) \ - (install_sighandler(signum, handler) && reserved_signal_p(signum) ? \ - install_sighandler_fail(#signum) : (void)0) + (install_sighandler(signum, handler) ? \ + install_sighandler_fail(#signum, signum) : (void)0) #endif #if defined(SIGCLD) || defined(SIGCHLD) @@ -1424,7 +1427,7 @@ init_sigchld(int sig) } # ifndef __native_client__ # define init_sigchld(signum) \ - (init_sigchld(signum) ? install_sighandler_fail(#signum) : (void)0) + (init_sigchld(signum) ? install_sighandler_fail(#signum, signum) : (void)0) # endif #endif -- cgit v1.2.1