From f65917cdc3f6c21167a0dfa17cad52cbac37fd46 Mon Sep 17 00:00:00 2001 From: Xin LI Date: Mon, 21 Dec 2009 20:12:01 +0000 Subject: [PATCH] Don't consider non-existence of a PID file an error, we should be able to proceed anyway as this most likely mean that the process has been terminated. PR: bin/140397 Submitted by: Dan Lukes MFC after: 1 month --- usr.sbin/newsyslog/newsyslog.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index ef74f23917c8..0878978f9b01 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -1779,7 +1779,18 @@ set_swpid(struct sigwork_entry *swork, const struct conf_entry *ent) f = fopen(ent->pid_file, "r"); if (f == NULL) { - warn("can't open pid file: %s", ent->pid_file); + if (errno == ENOENT) { + /* + * Warn if the PID file doesn't exist, but do + * not consider it an error. Most likely it + * means the process has been terminated, + * so it should be safe to rotate any log + * files that the process would have been using. + */ + swork->sw_pidok = 1; + warnx("pid file doesn't exist: %s", ent->pid_file); + } else + warn("can't open pid file: %s", ent->pid_file); return; }