]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
CID 1358881: Reorganise code so it doesn’t look like a copy/paste error
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 28 May 2017 01:00:05 +0000 (21:00 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 28 May 2017 01:00:05 +0000 (21:00 -0400)
src/main/radiusd.c

index d411ca86b15a2fe314ee502f9cdcb02513819b39..67e7f2370a214aa7054fcc5c0b76682c5698f2d7 100644 (file)
@@ -612,15 +612,16 @@ int main(int argc, char *argv[])
         *  immediately.  Use SIGTERM to shut down the server cleanly in
         *  that case.
         */
-       if ((fr_set_signal(SIGINT, sig_fatal) < 0)
-#ifdef SIGQUIT
-            || (fr_set_signal(SIGQUIT, sig_fatal) < 0)
-#endif
-       ) {
+       if (fr_set_signal(SIGINT, sig_fatal) < 0) {
+       set_signal_error:
                PERROR("Failed installing signal handler");
                fr_exit(EXIT_FAILURE);
        }
 
+#ifdef SIGQUIT
+       if (fr_set_signal(SIGQUIT, sig_fatal) < 0) goto set_signal_error;
+#endif
+
        /*
         *  Everything seems to have loaded OK, exit gracefully.
         */
@@ -639,11 +640,8 @@ int main(int argc, char *argv[])
        signal(SIGPIPE, SIG_IGN);
 #endif
 
-       if ((fr_set_signal(SIGHUP, sig_hup) < 0) ||
-           (fr_set_signal(SIGTERM, sig_fatal) < 0)) {
-               PERROR("Failed installing signal handler");
-               fr_exit(EXIT_FAILURE);
-       }
+       if (fr_set_signal(SIGHUP, sig_hup) < 0) goto set_signal_error;
+       if (fr_set_signal(SIGTERM, sig_fatal) < 0) goto set_signal_error;
 
 #ifdef WITH_STATS
        radius_stats_init(0);