diff options
-rw-r--r-- | libdaemon/dfork.c | 10 |
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; } |