summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-07-28 23:27:47 +0200
committerLennart Poettering <lennart@poettering.net>2008-07-28 23:27:47 +0200
commit475d15aaff9d8eaef8574ab4962c83031c375e49 (patch)
tree67df36285ea65664e6c014de7e870dff5b6c9cb1
parent91f7f12e1aab3b3793000f3a9cbb027b7a62b2a5 (diff)
save/restore errno where applicable
-rw-r--r--libdaemon/dpid.c4
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;