aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ppp-watch.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ppp-watch.c b/src/ppp-watch.c
index 44a6edd5..7b45f7b1 100644
--- a/src/ppp-watch.c
+++ b/src/ppp-watch.c
@@ -215,9 +215,15 @@ fork_exec(int wait, char *path, char *arg1, char *arg2, char *arg3)
pid_t child;
int status;
+ sigset_t sigs;
+
if (!(child = fork())) {
/* child */
+ /* don't leave signals blocked for pppd */
+ sigemptyset(&sigs);
+ sigprocmask(SIG_SETMASK, &sigs, NULL);
+
if (!wait) {
/* make sure that pppd is in its own process group */
setsid();