diff options
-rw-r--r-- | libdaemon/dfork.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libdaemon/dfork.c b/libdaemon/dfork.c index 5fe8b7b..70fce86 100644 --- a/libdaemon/dfork.c +++ b/libdaemon/dfork.c @@ -328,7 +328,9 @@ pid_t daemon_fork(void) { if (atomic_read(pipe_fds[0], &dpid, sizeof(dpid)) != sizeof(dpid)) { daemon_log(LOG_ERR, "Failed to read daemon PID."); dpid = (pid_t) -1; - } + errno = EINVAL; + } else if (dpid == (pid_t) -1) + errno = EIO; saved_errno = errno; close(pipe_fds[0]); |