diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:26:17 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:26:17 +0200 |
commit | 1ef4fbda1b9a9087b967a2ba0fab5db9eb3844db (patch) | |
tree | 3d557953ce00080e3282447826304244e7f4be62 | |
parent | 16a09253a2e225ae8a8bee76c4d7f6e3767a7e04 (diff) |
create retval pipes once only
-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; } |