diff options
Diffstat (limited to 'src/rc/rc-misc.c')
-rw-r--r-- | src/rc/rc-misc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rc/rc-misc.c b/src/rc/rc-misc.c index d43f1274..33a17b35 100644 --- a/src/rc/rc-misc.c +++ b/src/rc/rc-misc.c @@ -218,6 +218,18 @@ signal_setup(int sig, void (*handler)(int)) } int +signal_setup_restart(int sig, void (*handler)(int)) +{ + struct sigaction sa; + + memset(&sa, 0, sizeof (sa)); + sigemptyset(&sa.sa_mask); + sa.sa_handler = handler; + sa.sa_flags = SA_RESTART; + return sigaction(sig, &sa, NULL); +} + +int svc_lock(const char *applet) { char file[PATH_MAX]; |