diff options
-rw-r--r-- | src/ppp-watch.c | 6 |
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(); |