[launchd-changes] [23956] trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Nov 17 18:39:00 PST 2009


Revision: 23956
          http://trac.macosforge.org/projects/launchd/changeset/23956
Author:   lindak at apple.com
Date:     2009-11-17 18:38:58 -0800 (Tue, 17 Nov 2009)
Log Message:
-----------
<rdar://problem/7386864> 11A47: SecurityAgent no longer visible via Accessibility
<rdar://problem/7399539> X2: Dock does not register apps that quit: error -600

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

Property Changed:
----------------
    trunk/
    trunk/launchd/src/bootstrap.h
    trunk/launchd/src/bootstrap_priv.h
    trunk/launchd/src/launch.h
    trunk/launchd/src/launch_internal.h
    trunk/launchd/src/launch_priv.h
    trunk/launchd/src/protocol_vproc.defs
    trunk/launchd/src/vproc.h
    trunk/launchd/src/vproc_internal.h
    trunk/launchd/src/vproc_priv.h


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5092682:23731-23742
/branches/PR-5898404:23681-23700
/branches/PR-5978442:23651-23701
/branches/PR-6132016:23719-23738
/branches/PR-6271234:23818-23822
/branches/PR-6562592:23812-23822
/branches/PR-6564965:23832-23851
/branches/PR-6589133:23810-23822
/branches/PR-6609410:23828
/branches/PR-7178164:23935-23940
   + /branches/PR-5092682:23731-23742
/branches/PR-5898404:23681-23700
/branches/PR-5978442:23651-23701
/branches/PR-6132016:23719-23738
/branches/PR-6271234:23818-23822
/branches/PR-6562592:23812-23822
/branches/PR-6564965:23832-23851
/branches/PR-6589133:23810-23822
/branches/PR-6609410:23828
/branches/PR-7084138:23944-23955
/branches/PR-7178164:23935-23940


Property changes on: trunk/launchd/src/bootstrap.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5898404/launchd/src/libbootstrap_public.h:23681-23700
/branches/PR-5978442/launchd/src/libbootstrap_public.h:23651-23701
/branches/PR-6271234/launchd/src/bootstrap.h:23818-23822
/branches/PR-6562592/launchd/src/bootstrap.h:23812-23822
/branches/PR-6564965/launchd/src/bootstrap.h:23832-23851
/branches/PR-6589133/launchd/src/bootstrap.h:23810-23822
/branches/PR-6609410/launchd/src/bootstrap.h:23828
/branches/PR-7178164/launchd/src/bootstrap.h:23935-23940
   + /branches/PR-5898404/launchd/src/libbootstrap_public.h:23681-23700
/branches/PR-5978442/launchd/src/libbootstrap_public.h:23651-23701
/branches/PR-6271234/launchd/src/bootstrap.h:23818-23822
/branches/PR-6562592/launchd/src/bootstrap.h:23812-23822
/branches/PR-6564965/launchd/src/bootstrap.h:23832-23851
/branches/PR-6589133/launchd/src/bootstrap.h:23810-23822
/branches/PR-6609410/launchd/src/bootstrap.h:23828
/branches/PR-7084138/launchd/src/bootstrap.h:23944-23955
/branches/PR-7178164/launchd/src/bootstrap.h:23935-23940


Property changes on: trunk/launchd/src/bootstrap_priv.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5898404/launchd/src/libbootstrap_private.h:23681-23700
/branches/PR-5978442/launchd/src/libbootstrap_private.h:23651-23701
/branches/PR-6271234/launchd/src/bootstrap_priv.h:23818-23822
/branches/PR-6562592/launchd/src/bootstrap_priv.h:23812-23822
/branches/PR-6564965/launchd/src/bootstrap_priv.h:23832-23851
/branches/PR-6589133/launchd/src/bootstrap_priv.h:23810-23822
/branches/PR-6609410/launchd/src/bootstrap_priv.h:23828
/branches/PR-7178164/launchd/src/bootstrap_priv.h:23935-23940
   + /branches/PR-5898404/launchd/src/libbootstrap_private.h:23681-23700
/branches/PR-5978442/launchd/src/libbootstrap_private.h:23651-23701
/branches/PR-6271234/launchd/src/bootstrap_priv.h:23818-23822
/branches/PR-6562592/launchd/src/bootstrap_priv.h:23812-23822
/branches/PR-6564965/launchd/src/bootstrap_priv.h:23832-23851
/branches/PR-6589133/launchd/src/bootstrap_priv.h:23810-23822
/branches/PR-6609410/launchd/src/bootstrap_priv.h:23828
/branches/PR-7084138/launchd/src/bootstrap_priv.h:23944-23955
/branches/PR-7178164/launchd/src/bootstrap_priv.h:23935-23940


Property changes on: trunk/launchd/src/launch.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5898404/launchd/src/liblaunch_public.h:23681-23700
/branches/PR-5978442/launchd/src/liblaunch_public.h:23651-23701
/branches/PR-6271234/launchd/src/launch.h:23818-23822
/branches/PR-6562592/launchd/src/launch.h:23812-23822
/branches/PR-6564965/launchd/src/launch.h:23832-23851
/branches/PR-6589133/launchd/src/launch.h:23810-23822
/branches/PR-6609410/launchd/src/launch.h:23828
/branches/PR-7178164/launchd/src/launch.h:23935-23940
   + /branches/PR-5898404/launchd/src/liblaunch_public.h:23681-23700
/branches/PR-5978442/launchd/src/liblaunch_public.h:23651-23701
/branches/PR-6271234/launchd/src/launch.h:23818-23822
/branches/PR-6562592/launchd/src/launch.h:23812-23822
/branches/PR-6564965/launchd/src/launch.h:23832-23851
/branches/PR-6589133/launchd/src/launch.h:23810-23822
/branches/PR-6609410/launchd/src/launch.h:23828
/branches/PR-7084138/launchd/src/launch.h:23944-23955
/branches/PR-7178164/launchd/src/launch.h:23935-23940


Property changes on: trunk/launchd/src/launch_internal.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5898404/launchd/src/liblaunch_internal.h:23681-23700
/branches/PR-5978442/launchd/src/liblaunch_internal.h:23651-23701
/branches/PR-6271234/launchd/src/launch_internal.h:23818-23822
/branches/PR-6562592/launchd/src/launch_internal.h:23812-23822
/branches/PR-6564965/launchd/src/launch_internal.h:23832-23851
/branches/PR-6589133/launchd/src/launch_internal.h:23810-23822
/branches/PR-6609410/launchd/src/launch_internal.h:23828
/branches/PR-7178164/launchd/src/launch_internal.h:23935-23940
   + /branches/PR-5898404/launchd/src/liblaunch_internal.h:23681-23700
/branches/PR-5978442/launchd/src/liblaunch_internal.h:23651-23701
/branches/PR-6271234/launchd/src/launch_internal.h:23818-23822
/branches/PR-6562592/launchd/src/launch_internal.h:23812-23822
/branches/PR-6564965/launchd/src/launch_internal.h:23832-23851
/branches/PR-6589133/launchd/src/launch_internal.h:23810-23822
/branches/PR-6609410/launchd/src/launch_internal.h:23828
/branches/PR-7084138/launchd/src/launch_internal.h:23944-23955
/branches/PR-7178164/launchd/src/launch_internal.h:23935-23940


Property changes on: trunk/launchd/src/launch_priv.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5898404/launchd/src/liblaunch_private.h:23681-23700
/branches/PR-5978442/launchd/src/liblaunch_private.h:23651-23701
/branches/PR-6271234/launchd/src/launch_priv.h:23818-23822
/branches/PR-6562592/launchd/src/launch_priv.h:23812-23822
/branches/PR-6564965/launchd/src/launch_priv.h:23832-23851
/branches/PR-6589133/launchd/src/launch_priv.h:23810-23822
/branches/PR-6609410/launchd/src/launch_priv.h:23828
/branches/PR-7178164/launchd/src/launch_priv.h:23935-23940
   + /branches/PR-5898404/launchd/src/liblaunch_private.h:23681-23700
/branches/PR-5978442/launchd/src/liblaunch_private.h:23651-23701
/branches/PR-6271234/launchd/src/launch_priv.h:23818-23822
/branches/PR-6562592/launchd/src/launch_priv.h:23812-23822
/branches/PR-6564965/launchd/src/launch_priv.h:23832-23851
/branches/PR-6589133/launchd/src/launch_priv.h:23810-23822
/branches/PR-6609410/launchd/src/launch_priv.h:23828
/branches/PR-7084138/launchd/src/launch_priv.h:23944-23955
/branches/PR-7178164/launchd/src/launch_priv.h:23935-23940

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2009-11-18 01:18:55 UTC (rev 23955)
+++ trunk/launchd/src/launchd_core_logic.c	2009-11-18 02:38:58 UTC (rev 23956)
@@ -8608,7 +8608,7 @@
 		job_handle_mpm_wait(NULL, MACH_PORT_NULL, NULL);
 	}
 	struct ldcred *ldc = runtime_get_caller_creds();
-	job_t calling_j = job_mig_intran2(j->mgr, MACH_PORT_NULL, ldc->pid);
+	job_t calling_j = jobmgr_find_by_pid(j->mgr, ldc->pid, true);
 	
 	return job_mig_wait2(calling_j, j, srp, waitstatus, true);
 #endif
@@ -8627,7 +8627,17 @@
 		return BOOTSTRAP_NO_MEMORY;
 	}
 	
-	if( target_j->p == 0 ) {
+	/* See rdar://problem/7084138 for why we do the second part of this check.
+	 * Basically, since Finder, Dock and SystemUIServer are now real launchd
+	 * jobs, they don't get removed after exiting, like legacy LaunchServices
+	 * jobs do. So there's a race. coreservicesd came in asking for the exit
+	 * status after we'd relaunched Finder, so Finder's PID isn't 0.
+	 *
+	 * So we check to make sure the target job isn't a LaunchServices job and
+	 * that the request is coming through the legacy path (mpm_wait()). If so,
+	 * we return the last exit status, regardless of the current PID value.
+	 */
+	if( target_j->p == 0 || (!target_j->legacy_LS_job && legacy) ) {
 		*status = target_j->last_exit_status;
 		return BOOTSTRAP_SUCCESS;
 	}


Property changes on: trunk/launchd/src/protocol_vproc.defs
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5092682/launchd/src/protocol_job.defs:23731-23742
/branches/PR-5898404/launchd/src/protocol_job.defs:23681-23700
/branches/PR-5978442/launchd/src/protocol_job.defs:23651-23701
/branches/PR-6132016/launchd/src/protocol_job.defs:23719-23738
/branches/PR-6271234/launchd/src/protocol_vproc.defs:23818-23822
/branches/PR-6562592/launchd/src/protocol_vproc.defs:23812-23822
/branches/PR-6564965/launchd/src/protocol_vproc.defs:23832-23851
/branches/PR-6589133/launchd/src/protocol_vproc.defs:23810-23822
/branches/PR-6609410/launchd/src/protocol_vproc.defs:23828
/branches/PR-7178164/launchd/src/protocol_vproc.defs:23935-23940
   + /branches/PR-5092682/launchd/src/protocol_job.defs:23731-23742
/branches/PR-5898404/launchd/src/protocol_job.defs:23681-23700
/branches/PR-5978442/launchd/src/protocol_job.defs:23651-23701
/branches/PR-6132016/launchd/src/protocol_job.defs:23719-23738
/branches/PR-6271234/launchd/src/protocol_vproc.defs:23818-23822
/branches/PR-6562592/launchd/src/protocol_vproc.defs:23812-23822
/branches/PR-6564965/launchd/src/protocol_vproc.defs:23832-23851
/branches/PR-6589133/launchd/src/protocol_vproc.defs:23810-23822
/branches/PR-6609410/launchd/src/protocol_vproc.defs:23828
/branches/PR-7084138/launchd/src/protocol_vproc.defs:23944-23955
/branches/PR-7178164/launchd/src/protocol_vproc.defs:23935-23940


Property changes on: trunk/launchd/src/vproc.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5092682/launchd/src/libvproc_public.h:23731-23742
/branches/PR-5898404/launchd/src/libvproc_public.h:23681-23700
/branches/PR-5978442/launchd/src/libvproc_public.h:23651-23701
/branches/PR-6132016/launchd/src/libvproc_public.h:23719-23738
/branches/PR-6271234/launchd/src/vproc.h:23818-23822
/branches/PR-6562592/launchd/src/vproc.h:23812-23822
/branches/PR-6564965/launchd/src/vproc.h:23832-23851
/branches/PR-6589133/launchd/src/vproc.h:23810-23822
/branches/PR-6609410/launchd/src/vproc.h:23828
/branches/PR-7178164/launchd/src/vproc.h:23935-23940
   + /branches/PR-5092682/launchd/src/libvproc_public.h:23731-23742
/branches/PR-5898404/launchd/src/libvproc_public.h:23681-23700
/branches/PR-5978442/launchd/src/libvproc_public.h:23651-23701
/branches/PR-6132016/launchd/src/libvproc_public.h:23719-23738
/branches/PR-6271234/launchd/src/vproc.h:23818-23822
/branches/PR-6562592/launchd/src/vproc.h:23812-23822
/branches/PR-6564965/launchd/src/vproc.h:23832-23851
/branches/PR-6589133/launchd/src/vproc.h:23810-23822
/branches/PR-6609410/launchd/src/vproc.h:23828
/branches/PR-7084138/launchd/src/vproc.h:23944-23955
/branches/PR-7178164/launchd/src/vproc.h:23935-23940


Property changes on: trunk/launchd/src/vproc_internal.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5898404/launchd/src/libvproc_internal.h:23681-23700
/branches/PR-5978442/launchd/src/libvproc_internal.h:23651-23701
/branches/PR-6271234/launchd/src/vproc_internal.h:23818-23822
/branches/PR-6562592/launchd/src/vproc_internal.h:23812-23822
/branches/PR-6564965/launchd/src/vproc_internal.h:23832-23851
/branches/PR-6589133/launchd/src/vproc_internal.h:23810-23822
/branches/PR-6609410/launchd/src/vproc_internal.h:23828
/branches/PR-7178164/launchd/src/vproc_internal.h:23935-23940
   + /branches/PR-5898404/launchd/src/libvproc_internal.h:23681-23700
/branches/PR-5978442/launchd/src/libvproc_internal.h:23651-23701
/branches/PR-6271234/launchd/src/vproc_internal.h:23818-23822
/branches/PR-6562592/launchd/src/vproc_internal.h:23812-23822
/branches/PR-6564965/launchd/src/vproc_internal.h:23832-23851
/branches/PR-6589133/launchd/src/vproc_internal.h:23810-23822
/branches/PR-6609410/launchd/src/vproc_internal.h:23828
/branches/PR-7084138/launchd/src/vproc_internal.h:23944-23955
/branches/PR-7178164/launchd/src/vproc_internal.h:23935-23940


Property changes on: trunk/launchd/src/vproc_priv.h
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-5092682/launchd/src/libvproc_private.h:23731-23742
/branches/PR-5898404/launchd/src/libvproc_private.h:23681-23700
/branches/PR-5978442/launchd/src/libvproc_private.h:23651-23701
/branches/PR-6132016/launchd/src/libvproc_private.h:23719-23738
/branches/PR-6271234/launchd/src/vproc_priv.h:23818-23822
/branches/PR-6562592/launchd/src/vproc_priv.h:23812-23822
/branches/PR-6564965/launchd/src/vproc_priv.h:23832-23851
/branches/PR-6589133/launchd/src/vproc_priv.h:23810-23822
/branches/PR-6609410/launchd/src/vproc_priv.h:23828
/branches/PR-7178164/launchd/src/vproc_priv.h:23935-23940
   + /branches/PR-5092682/launchd/src/libvproc_private.h:23731-23742
/branches/PR-5898404/launchd/src/libvproc_private.h:23681-23700
/branches/PR-5978442/launchd/src/libvproc_private.h:23651-23701
/branches/PR-6132016/launchd/src/libvproc_private.h:23719-23738
/branches/PR-6271234/launchd/src/vproc_priv.h:23818-23822
/branches/PR-6562592/launchd/src/vproc_priv.h:23812-23822
/branches/PR-6564965/launchd/src/vproc_priv.h:23832-23851
/branches/PR-6589133/launchd/src/vproc_priv.h:23810-23822
/branches/PR-6609410/launchd/src/vproc_priv.h:23828
/branches/PR-7084138/launchd/src/vproc_priv.h:23944-23955
/branches/PR-7178164/launchd/src/vproc_priv.h:23935-23940
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/launchd-changes/attachments/20091117/99c2da59/attachment-0001.html>


More information about the launchd-changes mailing list