[前][次][番号順一覧][スレッド一覧]

ruby-changes:33808

From: nobu <ko1@a...>
Date: Fri, 9 May 2014 23:31:38 +0900 (JST)
Subject: [ruby-changes:33808] nobu:r45889 (trunk): signal.c: if to switch

nobu	2014-05-09 23:31:27 +0900 (Fri, 09 May 2014)

  New Revision: 45889

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=45889

  Log:
    signal.c: if to switch
    
    * signal.c (ruby_signal): turn multiple `if` statements into a
      `switch`.

  Modified files:
    trunk/signal.c
Index: signal.c
===================================================================
--- signal.c	(revision 45888)
+++ signal.c	(revision 45889)
@@ -532,18 +532,22 @@ ruby_signal(int signum, sighandler_t han https://github.com/ruby/ruby/blob/trunk/signal.c#L532
     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) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]