diff options
Diffstat (limited to 'initd/supervisor.c')
-rw-r--r-- | initd/supervisor.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/initd/supervisor.c b/initd/supervisor.c index 1a131ac..43900a5 100644 --- a/initd/supervisor.c +++ b/initd/supervisor.c @@ -179,14 +179,13 @@ out: bool supervisor_process_queues(void) { - sigset_t mask, old_mask; svc_run_data_t *rt; + sigset_t old_mask; service_t *svc; size_t count; bool ret = false; - sigfillset(&mask); - sigprocmask(SIG_SETMASK, &mask, &old_mask); + cli(&old_mask); if (waiting) goto out_unblock; @@ -224,6 +223,6 @@ bool supervisor_process_queues(void) print_status(svc->desc, rt->state); check_target_completion(); out_unblock: - sigprocmask(SIG_SETMASK, &old_mask, NULL); + sti(&old_mask); return ret; } |