From b60fbca806816958c65353ca4a663c408c9425e3 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 9 May 2014 14:31:27 +0000 Subject: [PATCH] signal.c: if to switch * signal.c (ruby_signal): turn multiple `if` statements into a `switch`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- signal.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/signal.c b/signal.c index f06dbe4444..8625d942d4 100644 --- a/signal.c +++ b/signal.c @@ -532,18 +532,22 @@ ruby_signal(int signum, sighandler_t handler) sigact.sa_flags = 0; #endif + switch (signum) { #ifdef SA_NOCLDWAIT - if (signum == SIGCHLD && handler == SIG_IGN) - sigact.sa_flags |= SA_NOCLDWAIT; + case SIGCHLD: + if (handler == SIG_IGN) + sigact.sa_flags |= SA_NOCLDWAIT; + break; #endif #if defined(SA_ONSTACK) && defined(USE_SIGALTSTACK) - if (signum == SIGSEGV + case SIGSEGV: #ifdef SIGBUS - || signum == SIGBUS + case SIGBUS: #endif - ) sigact.sa_flags |= SA_ONSTACK; + break; #endif + } (void)VALGRIND_MAKE_MEM_DEFINED(&old, sizeof(old)); if (sigaction(signum, &sigact, &old) < 0) { if (errno != 0 && errno != EINVAL) {