Modified: trunk/launchd/src/launchd_core_logic.c (23413 => 23414)
--- trunk/launchd/src/launchd_core_logic.c 2007-09-19 17:41:53 UTC (rev 23413)
+++ trunk/launchd/src/launchd_core_logic.c 2007-09-19 17:47:36 UTC (rev 23414)
@@ -1983,8 +1983,10 @@
const char *z = (kp[i].kp_proc.p_stat == SZOMB) ? "zombie " : "";
const char *n = kp[i].kp_proc.p_comm;
- if (!job_assumes(j, p_i != 0 && p_i != 1)) {
+ if (p_i == j->p) {
continue;
+ } else if (!job_assumes(j, p_i != 0 && p_i != 1)) {
+ continue;
}
job_log(j, LOG_WARNING, "Stray %sprocess with PGID equal to this dead job: PID %u PPID %u %s", z, p_i, pp_i, n);
@@ -2031,8 +2033,8 @@
* The job is dead. While the PID/PGID is still known to be
* valid, try to kill abandoned descendant processes.
*/
+ job_log_stray_pg(j);
if (!j->abandon_pg) {
- job_log_stray_pg(j);
job_assumes(j, runtime_killpg(j->p, SIGTERM) != -1 || errno == ESRCH);
}