diff options
Diffstat (limited to 'libexec/ftpd/ftpd.c')
-rw-r--r-- | libexec/ftpd/ftpd.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index 10f70d5..62257e8 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -453,14 +453,18 @@ main(int argc, char *argv[], char **envp) | O_NONBLOCK | O_EXLOCK, 0644); if (fd < 0) { if (errno == EAGAIN) - errx(1, "%s: file locked", pid_file); + syslog(LOG_ERR, + "%s: already locked", pid_file); else - err(1, "%s", pid_file); + syslog(LOG_ERR, "%s: %m", pid_file); + exit(1); } snprintf(buf, sizeof(buf), "%lu\n", (unsigned long) getpid()); - if (write(fd, buf, strlen(buf)) < 0) - err(1, "%s: write", pid_file); + if (write(fd, buf, strlen(buf)) < 0) { + syslog(LOG_ERR, "%s: write: %m", pid_file); + exit(1); + } /* Leave the pid file open and locked */ } /* |