[launchd-changes] [23173] trunk/launchd/src/launchd_core_logic.c

source_changes at macosforge.org source_changes at macosforge.org
Thu Mar 22 11:40:59 PDT 2007


Revision: 23173
          http://trac.macosforge.org/projects/launchd/changeset/23173
Author:   zarzycki at apple.com
Date:     2007-03-22 11:40:59 -0700 (Thu, 22 Mar 2007)

Log Message:
-----------
Anonymous jobs that execve() should be forgotten.

Modified Paths:
--------------
    trunk/launchd/src/launchd_core_logic.c

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2007-03-22 18:31:28 UTC (rev 23172)
+++ trunk/launchd/src/launchd_core_logic.c	2007-03-22 18:40:59 UTC (rev 23173)
@@ -956,7 +956,7 @@
 		jr->p = anonpid;
 		/* anonymous process reaping is messy */
 		SLIST_INSERT_HEAD(&jm->active_jobs[ACTIVE_JOB_HASH(jr->p)], jr, pid_hash_sle);
-		job_assumes(jr, kevent_mod(jr->p, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, root_jobmgr) != -1);
+		job_assumes(jr, kevent_mod(jr->p, EVFILT_PROC, EV_ADD, NOTE_EXEC|NOTE_EXIT, 0, root_jobmgr) != -1);
 		job_log(jr, LOG_DEBUG, "Created anonymously.");
 	}
 
@@ -1880,6 +1880,10 @@
 {
 	if (fflags & NOTE_EXEC) {
 		job_log(j, LOG_DEBUG, "Called execve()");
+		if (j->anonymous) {
+			job_reap(j);
+			job_remove(j);
+		}
 	}
 
 	if (fflags & NOTE_FORK) {

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20070322/c4741b48/attachment.html


More information about the launchd-changes mailing list