Modified: trunk/launchd/src/launchd_core_logic.c (22904 => 22905)
--- trunk/launchd/src/launchd_core_logic.c 2006-10-17 17:56:58 UTC (rev 22904)
+++ trunk/launchd/src/launchd_core_logic.c 2006-10-17 18:29:44 UTC (rev 22905)
@@ -689,10 +689,12 @@
}
/* preflight the string so we know how big it is */
- sprintf(buf, "100000.%s", basename((char *)argv[0]));
+ sprintf(buf, "%s.%s", sizeof(void *) == 8 ? "0xdeadbeeffeedface" : "0xbabecafe", basename((char *)argv[0]));
j = job_new(jbs, buf, NULL, argv, NULL, MACH_PORT_NULL);
+ sprintf(j->label, "%p.%s", j, basename(j->argv[0]));
+
free(argv);
if (!job_assumes(jbs, j != NULL)) {
@@ -713,10 +715,8 @@
goto out_bad;
}
- sprintf(j->label, "%d.%s", MACH_PORT_INDEX(j->bs_port), basename(j->argv[0]));
+ job_log(j, LOG_INFO, "Legacy%s server created in bootstrap: %x", ond ? " on-demand" : "", jbs->bs_port);
- job_log(j, LOG_INFO, "New%s server in bootstrap: %x", ond ? " on-demand" : "", jbs->bs_port);
-
return j;
out_bad:
@@ -3175,6 +3175,9 @@
{
j->priv_port_has_senders = false;
+ job_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
+ j->bs_port = 0;
+
job_log(j, LOG_DEBUG, "No more senders on privileged Mach bootstrap port");
job_dispatch(j, false);