process-util: make some minor corrections to PID live detection

This commit is contained in:
Lennart Poettering
2015-10-27 14:02:45 +01:00
parent 6bc73acb01
commit 5fd9b2c546
+8 -2
View File
@@ -595,9 +595,12 @@ int getenv_for_pid(pid_t pid, const char *field, char **_value) {
bool pid_is_unwaited(pid_t pid) {
/* Checks whether a PID is still valid at all, including a zombie */
if (pid <= 0)
if (pid < 0)
return false;
if (pid <= 1) /* If we or PID 1 would be dead and have been waited for, this code would not be running */
return true;
if (kill(pid, 0) >= 0)
return true;
@@ -609,9 +612,12 @@ bool pid_is_alive(pid_t pid) {
/* Checks whether a PID is still valid and not a zombie */
if (pid <= 0)
if (pid < 0)
return false;
if (pid <= 1) /* If we or PID 1 would be a zombie, this code would not be running */
return true;
r = get_process_state(pid);
if (r == -ESRCH || r == 'Z')
return false;