From: Lennart Poettering Date: Tue, 15 Jun 2010 17:47:13 +0000 (+0200) Subject: service: never supervise ourselves X-Git-Tag: v1~196 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=406eaf930be77133c1f58ba37171e6d5aa9489c7 service: never supervise ourselves --- diff --git a/src/service.c b/src/service.c index 82a18a431..547a55567 100644 --- a/src/service.c +++ b/src/service.c @@ -936,6 +936,9 @@ static int service_load_pid_file(Service *s) { if ((unsigned long) (pid_t) p != p) return -ERANGE; + if (p <= 1) + return -ERANGE; + if (kill((pid_t) p, 0) < 0 && errno != EPERM) { log_warning("PID %llu read from file %s does not exist. Your service or init script might be broken.", (unsigned long long) p, s->pid_file);