Modified: branches/PR-7264615/launchd/src/launchd_core_logic.c (23951 => 23952)
--- branches/PR-7264615/launchd/src/launchd_core_logic.c 2009-11-18 00:45:29 UTC (rev 23951)
+++ branches/PR-7264615/launchd/src/launchd_core_logic.c 2009-11-18 00:51:59 UTC (rev 23952)
@@ -1465,7 +1465,10 @@
}
/* This is down here to mitigate the effects of rdar://problem/7264615, in which a process
- * attaches to its own parent.
+ * attaches to its own parent. We need to make sure that the anonymous job has been added
+ * to the process list so that, if it's used ptrace(3) to cause a cycle in the process
+ * tree (thereby making it not a tree anymore), we'll find the tracing parent PID of the
+ * parent process, which is the child, when we go looking for it in jobmgr_find_by_pid().
*/
switch (kp.kp_eproc.e_ppid) {
case 0: