diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-10-18 03:55:37 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-10-18 03:56:10 +0200 |
commit | 177db9cf9a7a27a10f427369f4b4ff851a03bcf7 (patch) | |
tree | 269f8bfd230e1e1bdcf465929b2f3a0e167039d9 | |
parent | e81e87f8d408d965b3baab14910eb0b08c428600 (diff) | |
download | platform_external_libdaemon-177db9cf9a7a27a10f427369f4b4ff851a03bcf7.tar.gz platform_external_libdaemon-177db9cf9a7a27a10f427369f4b4ff851a03bcf7.tar.bz2 platform_external_libdaemon-177db9cf9a7a27a10f427369f4b4ff851a03bcf7.zip |
dfork: set errno properly in some error conditions
-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]); |