diff options
author | Michael K. Johnson <johnsonm@redhat.com> | 1999-11-05 12:09:54 +0000 |
---|---|---|
committer | Michael K. Johnson <johnsonm@redhat.com> | 1999-11-05 12:09:54 +0000 |
commit | 91d56474115fc195bc45d572c7fc223bfed7b558 (patch) | |
tree | 1cf82ec5163cb8af289e5a27818babb8be1177e5 /src | |
parent | a6aa9f2c1d0bc70420985cca4075cae8818d8bd8 (diff) | |
download | initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar.gz initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar.bz2 initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar.xz initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.zip |
try to fix double-dialing problem
Diffstat (limited to 'src')
-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(); |