about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2012-03-26 09:26:43 +0000
committerEric Wong <normalperson@yhbt.net>2012-03-26 09:31:06 +0000
commit3591dadfa8533ad1533c2f52077a2df2804b96e4 (patch)
tree132c7d6b44f4155e4def7e67dc532dfaa1eb61f4
parentf080032dfa26662e5235e7db9e57cce2bd14a3d3 (diff)
downloadcmogstored-3591dadfa8533ad1533c2f52077a2df2804b96e4.tar.gz
We disable interrupts earlier so folks/scripts that are
trigger-happy with sending signals won't cause us to use
default signal handlers on us before we're ready.
-rw-r--r--cmogstored.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/cmogstored.c b/cmogstored.c
index 5103810..a0944cb 100644
--- a/cmogstored.c
+++ b/cmogstored.c
@@ -520,6 +520,7 @@ static void run_master(void)
                                       worker_hash, worker_cmp, free);
 
         siginit(master_wakeup_handler);
+        mog_intr_enable();
 
         for (id = 0; id < worker_processes; id++)
                 fork_worker(id);
@@ -548,14 +549,13 @@ int main(int argc, char *argv[], char *envp[])
         /* hack for older gcov + gcc, see nostd/setproctitle.h */
         spt_init(argc, argv, envp);
 
+        mog_intr_disable();
         setup(argc, argv); /* this daemonizes */
 
-        if (worker_processes == 0) {
-                mog_intr_disable();
+        if (worker_processes == 0)
                 run_worker(0);
-        } else {
+        else
                 run_master();
-        }
 
         return 0;
 }