summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libdaemon/dfork.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libdaemon/dfork.c b/libdaemon/dfork.c
index 5f163fd..e705155 100644
--- a/libdaemon/dfork.c
+++ b/libdaemon/dfork.c
@@ -541,6 +541,9 @@ int daemon_close_allv(const int except_fds[]) {
return -1;
}
+
+ if (fd == _daemon_retval_pipe[0])
+ _daemon_retval_pipe[0] = -1; /* mark as closed */
}
closedir(d);
@@ -572,6 +575,9 @@ int daemon_close_allv(const int except_fds[]) {
if (close(fd) < 0 && errno != EBADF)
return -1;
+
+ if (fd == _daemon_retval_pipe[0])
+ _daemon_retval_pipe[0] = -1; /* mark as closed */
}
return 0;