aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael K. Johnson <johnsonm@redhat.com>1999-11-05 12:09:54 +0000
committerMichael K. Johnson <johnsonm@redhat.com>1999-11-05 12:09:54 +0000
commit91d56474115fc195bc45d572c7fc223bfed7b558 (patch)
tree1cf82ec5163cb8af289e5a27818babb8be1177e5
parenta6aa9f2c1d0bc70420985cca4075cae8818d8bd8 (diff)
downloadinitscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar
initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar.gz
initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar.bz2
initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.tar.xz
initscripts-91d56474115fc195bc45d572c7fc223bfed7b558.zip
try to fix double-dialing problem
-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();