[launchd-changes] [22996] trunk/launchd/src
source_changes at macosforge.org
source_changes at macosforge.org
Fri Dec 22 11:05:57 PST 2006
Revision: 22996
http://trac.macosforge.org/projects/launchd/changeset/22996
Author: zarzycki at apple.com
Date: 2006-12-22 11:05:56 -0800 (Fri, 22 Dec 2006)
Log Message:
-----------
<rdar://problem/4802454> CAS: WindowServer hangs in CGXProcessHIDEvent/.../CGXPseudoActivateWindow/.../_LSDoSetFrontProcess
Modified Paths:
--------------
trunk/launchd/src/launchd_core_logic.c
trunk/launchd/src/libvproc.c
Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c 2006-12-21 19:43:50 UTC (rev 22995)
+++ trunk/launchd/src/launchd_core_logic.c 2006-12-22 19:05:56 UTC (rev 22996)
@@ -748,6 +748,11 @@
goto out_bad2;
}
+ if (!job_assumes(j, launchd_mport_notify_req(j->j_port, MACH_NOTIFY_NO_SENDERS) == KERN_SUCCESS)) {
+ job_assumes(j, launchd_mport_close_recv(j->j_port) == KERN_SUCCESS);
+ goto out_bad;
+ }
+
return true;
out_bad2:
job_assumes(j, launchd_mport_close_recv(j->j_port) == KERN_SUCCESS);
@@ -788,11 +793,6 @@
goto out_bad;
}
- if (!job_assumes(jr, launchd_mport_notify_req(jr->j_port, MACH_NOTIFY_NO_SENDERS) == KERN_SUCCESS)) {
- job_assumes(jr, launchd_mport_close_recv(jr->j_port) == KERN_SUCCESS);
- goto out_bad;
- }
-
job_log(jr, LOG_INFO, "Legacy%s server created", ond ? " on-demand" : "");
return jr;
@@ -2691,9 +2691,12 @@
bool
job_useless(job_t j)
{
- /* Yes, j->unload_at_exit and j->j->only_once seem the same, but they'll differ someday... */
+ /* Yes, j->unload_at_exit and j->only_once seem the same, but they'll differ someday... */
if ((j->unload_at_exit || j->only_once) && j->start_time != 0) {
+ if (j->unload_at_exit && j->j_port) {
+ return false;
+ }
job_log(j, LOG_INFO, "Exited. Was only configured to run once.");
return true;
} else if (shutdown_in_progress) {
Modified: trunk/launchd/src/libvproc.c
===================================================================
--- trunk/launchd/src/libvproc.c 2006-12-21 19:43:50 UTC (rev 22995)
+++ trunk/launchd/src/libvproc.c 2006-12-22 19:05:56 UTC (rev 22996)
@@ -170,22 +170,11 @@
return -1;
}
-#if 0
kern_return_t
mpm_wait(mach_port_t ajob __attribute__((unused)), int *wstatus)
{
- /* Stubbed out for now...
- * <rdar://problem/4802454> CAS: WindowServer hangs in CGXProcessHIDEvent/.../CGXPseudoActivateWindow/.../_LSDoSetFrontProcess
- */
return vproc_mig_wait(ajob, wstatus);
}
-#else
-kern_return_t
-mpm_wait(mach_port_t ajob __attribute__((unused)), int *wstatus __attribute__((unused)))
-{
- return MIG_BAD_ID;
-}
-#endif
kern_return_t
mpm_uncork_fork(mach_port_t ajob)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20061222/a93dc0a8/attachment.html
More information about the launchd-changes
mailing list