[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