From 177db9cf9a7a27a10f427369f4b4ff851a03bcf7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 18 Oct 2009 03:55:37 +0200 Subject: dfork: set errno properly in some error conditions --- libdaemon/dfork.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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]); -- cgit