summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libdaemon/dfork.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libdaemon/dfork.c b/libdaemon/dfork.c
index ff58659..44d815c 100644
--- a/libdaemon/dfork.c
+++ b/libdaemon/dfork.c
@@ -325,8 +325,14 @@ pid_t daemon_fork(void) {
}
int daemon_retval_init(void) {
- if (pipe(_daemon_retval_pipe) < 0)
- return -1;
+
+ if (_daemon_retval_pipe[0] < 0 || _daemon_retval_pipe[1] < 0) {
+
+ if (pipe(_daemon_retval_pipe) < 0) {
+ daemon_log(LOG_ERR, "pipe(): %s", strerror(errno));
+ return -1;
+ }
+ }
return 0;
}