diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:27:47 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:27:47 +0200 |
commit | 475d15aaff9d8eaef8574ab4962c83031c375e49 (patch) | |
tree | 67df36285ea65664e6c014de7e870dff5b6c9cb1 | |
parent | 91f7f12e1aab3b3793000f3a9cbb027b7a62b2a5 (diff) |
save/restore errno where applicable
-rw-r--r-- | libdaemon/dpid.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libdaemon/dpid.c b/libdaemon/dpid.c index 145cf50..510e24a 100644 --- a/libdaemon/dpid.c +++ b/libdaemon/dpid.c @@ -117,8 +117,10 @@ pid_t daemon_pid_file_is_running(void) { goto finish; if ((l = read(fd, txt, sizeof(txt)-1)) < 0) { + int saved_errno = errno; daemon_log(LOG_WARNING, "read(): %s", strerror(errno)); unlink(fn); + errno = saved_errno; goto finish; } @@ -152,8 +154,8 @@ finish: int saved_errno = errno; if (locked >= 0) lock_file(fd, 0); - errno = saved_errno; close(fd); + errno = saved_errno; } return ret; |