Revision
23100
Author
zarzycki@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

Diff

Modified: trunk/launchd/src/launchd_core_logic.c (23099 => 23100)


--- 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 (23099 => 23100)


--- 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 (23099 => 23100)


--- 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)) {