[launchd-changes] [23100] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Thu Feb 22 15:38:58 PST 2007


Revision: 23100
          http://trac.macosforge.org/projects/launchd/changeset/23100
Author:   zarzycki at apple.com
Date:     2007-02-22 15:38:57 -0800 (Thu, 22 Feb 2007)

Log Message:
-----------
Ensure that c->j is always set.

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

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2007-02-22 23:31:44 UTC (rev 23099)
+++ trunk/launchd/src/launchd_core_logic.c	2007-02-22 23:38:57 UTC (rev 23100)
@@ -218,7 +218,6 @@
 static void jobmgr_log_stray_children(jobmgr_t jm);
 static void jobmgr_remove(jobmgr_t jm);
 static void jobmgr_dispatch_all(jobmgr_t jm);
-static job_t jobmgr_new_anonymous(jobmgr_t jm);
 static job_t job_mig_intran2(jobmgr_t jm, mach_port_t p);
 static void job_export_all2(jobmgr_t jm, launch_data_t where);
 static void jobmgr_callback(void *obj, struct kevent *kev);
@@ -911,11 +910,15 @@
 }
 
 job_t
-jobmgr_new_anonymous(jobmgr_t jm)
+jobmgr_get_anonymous(jobmgr_t jm)
 {
 	char newlabel[1000], *procname = "unknown";
 	job_t jr;
 
+	if (jm->anonj) {
+		return jm->anonj;
+	}
+
 	snprintf(newlabel, sizeof(newlabel), "%u.anonymous", MACH_PORT_INDEX(jm->jm_port));
 
 	if ((jr = job_new(jm, newlabel, procname, NULL))) {
@@ -3474,7 +3477,7 @@
 		goto out_bad;
 	}
 
-	jobmgr_assumes(jmr, (jmr->anonj = jobmgr_new_anonymous(jmr)) != NULL);
+	jobmgr_assumes(jmr, (jmr->anonj = jobmgr_get_anonymous(jmr)) != NULL);
 
 	bootstrapper = job_new(jmr, "com.apple.launchctld", NULL, bootstrap_tool);
 

Modified: trunk/launchd/src/launchd_core_logic.h
===================================================================
--- trunk/launchd/src/launchd_core_logic.h	2007-02-22 23:31:44 UTC (rev 23099)
+++ trunk/launchd/src/launchd_core_logic.h	2007-02-22 23:38:57 UTC (rev 23100)
@@ -31,6 +31,7 @@
 void jobmgr_init(bool);
 jobmgr_t jobmgr_shutdown(jobmgr_t jm);
 void jobmgr_dispatch_all_semaphores(jobmgr_t jm);
+job_t jobmgr_get_anonymous(jobmgr_t jm);
 job_t jobmgr_find(jobmgr_t jm, const char *label);
 jobmgr_t jobmgr_delete_anything_with_port(jobmgr_t jm, mach_port_t port);
 bool jobmgr_ack_port_destruction(jobmgr_t jm, mach_port_t p);

Modified: trunk/launchd/src/launchd_unix_ipc.c
===================================================================
--- trunk/launchd/src/launchd_unix_ipc.c	2007-02-22 23:31:44 UTC (rev 23099)
+++ trunk/launchd/src/launchd_unix_ipc.c	2007-02-22 23:38:57 UTC (rev 23100)
@@ -184,7 +184,7 @@
 
 	c->kqconn_callback = ipc_callback;
 	c->conn = launchd_fdopen(fd);
-	c->j = j;
+	c->j = j ? j : jobmgr_get_anonymous(root_jobmgr);
 	SLIST_INSERT_HEAD(&connections, c, sle);
 	kevent_mod(fd, EVFILT_READ, EV_ADD, 0, 0, &c->kqconn_callback);
 }
@@ -328,11 +328,7 @@
 		return;
 	}
 
-	if (rmc->c->j) {
-		job_log(rmc->c->j, LOG_DEBUG, "Unix IPC request: %s", cmd);
-	} else {
-	       	runtime_syslog(LOG_DEBUG, "Unix IPC request: %s", cmd);
-	}
+	job_log(rmc->c->j, LOG_DEBUG, "Unix IPC request: %s", cmd);
 
 	if (data == NULL) {
 		if (!strcmp(cmd, LAUNCH_KEY_CHECKIN)) {

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


More information about the launchd-changes mailing list