From source_changes at macosforge.org Thu Jul 2 16:29:49 2009 From: source_changes at macosforge.org (source_changes at macosforge.org) Date: Thu, 2 Jul 2009 16:29:49 -0700 (PDT) Subject: [launchd-changes] [23928] trunk/launchd/src Message-ID: <20090702232949.5E6D61FB89F0@beta.macosforge.org> Revision: 23928 http://trac.macosforge.org/projects/launchd/changeset/23928 Author: dsorresso at apple.com Date: 2009-07-02 16:29:48 -0700 (Thu, 02 Jul 2009) Log Message: ----------- Couldn't launch applications, -600 error -- coreservicesd appeared to be wedged Modified Paths: -------------- trunk/launchd/src/StartupItems.c trunk/launchd/src/launchd_core_logic.c trunk/launchd/src/libvproc.c trunk/launchd/src/protocol_job_reply.defs trunk/launchd/src/protocol_vproc.defs Modified: trunk/launchd/src/StartupItems.c =================================================================== --- trunk/launchd/src/StartupItems.c 2009-06-18 22:47:09 UTC (rev 23927) +++ trunk/launchd/src/StartupItems.c 2009-07-02 23:29:48 UTC (rev 23928) @@ -294,7 +294,7 @@ * * Just in case... */ - mkdir(aPath, S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH); + mkdir(aPath, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); if (!StartupItemSecurityCheck(aPath)) continue; Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2009-06-18 22:47:09 UTC (rev 23927) +++ trunk/launchd/src/launchd_core_logic.c 2009-07-02 23:29:48 UTC (rev 23928) @@ -156,9 +156,10 @@ struct waiting_for_exit { LIST_ENTRY(waiting_for_exit) sle; mach_port_t rp; + bool legacy; }; -static bool waiting4exit_new(job_t j, mach_port_t rp); +static bool waiting4exit_new(job_t j, mach_port_t rp, bool legacy); static void waiting4exit_delete(job_t j, struct waiting_for_exit *w4e); struct machservice { @@ -8581,17 +8582,25 @@ kern_return_t job_mig_wait(job_t j, mach_port_t srp, integer_t *waitstatus) { +#if 0 if (!launchd_assumes(j != NULL)) { return BOOTSTRAP_NO_MEMORY; } -#if 0 + return job_handle_mpm_wait(j, srp, waitstatus); +#else + if( false ) { + /* To make the compiler happy. */ + 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); + + return job_mig_wait2(calling_j, j, srp, waitstatus, true); #endif - return job_handle_mpm_wait(j, srp, waitstatus); } kern_return_t -job_mig_wait2(job_t j, job_t target_j, mach_port_t srp, integer_t *status __attribute__((unused))) +job_mig_wait2(job_t j, job_t target_j, mach_port_t srp, integer_t *status, boolean_t legacy) { if( !launchd_assumes(j != NULL) ) { return BOOTSTRAP_NO_MEMORY; @@ -8599,12 +8608,16 @@ if( !launchd_assumes(target_j != NULL) ) { return BOOTSTRAP_NO_MEMORY; } + if( !launchd_assumes(status != NULL) ) { + return BOOTSTRAP_NO_MEMORY; + } if( target_j->p == 0 ) { + *status = target_j->last_exit_status; return BOOTSTRAP_SUCCESS; } - if( !job_assumes(j, waiting4exit_new(target_j, srp) == true) ) { + if( !job_assumes(j, waiting4exit_new(target_j, srp, legacy) == true) ) { return BOOTSTRAP_NO_MEMORY; } @@ -8792,7 +8805,7 @@ } bool -waiting4exit_new(job_t j, mach_port_t rp) +waiting4exit_new(job_t j, mach_port_t rp, bool legacy) { struct waiting_for_exit *w4e = NULL; if( !job_assumes(j, (w4e = malloc(sizeof(struct waiting_for_exit))) != NULL) ) { @@ -8800,6 +8813,7 @@ } w4e->rp = rp; + w4e->legacy = legacy; LIST_INSERT_HEAD(&j->exit_watchers, w4e, sle); return true; @@ -8808,7 +8822,12 @@ void waiting4exit_delete(job_t j, struct waiting_for_exit *w4e) { - job_assumes(j, job_mig_wait2_reply(w4e->rp, KERN_SUCCESS, j->last_exit_status) == KERN_SUCCESS); + if( !w4e->legacy ) { + job_assumes(j, job_mig_wait2_reply(w4e->rp, KERN_SUCCESS, j->last_exit_status, false) == KERN_SUCCESS); + } else { + job_assumes(j, job_mig_wait_reply(w4e->rp, KERN_SUCCESS, j->last_exit_status) == KERN_SUCCESS); + } + LIST_REMOVE(w4e, sle); free(w4e); Modified: trunk/launchd/src/libvproc.c =================================================================== --- trunk/launchd/src/libvproc.c 2009-06-18 22:47:09 UTC (rev 23927) +++ trunk/launchd/src/libvproc.c 2009-07-02 23:29:48 UTC (rev 23928) @@ -704,7 +704,7 @@ } kern_return_t -mpm_wait(mach_port_t ajob __attribute__((unused)), int *wstatus) +mpm_wait(mach_port_t ajob, int *wstatus) { return vproc_mig_wait(ajob, wstatus); } @@ -863,7 +863,7 @@ vproc_t pu_vp = vprocmgr_lookup_vproc(peruser_label); if( pu_vp ) { int status = 0; - kr = vproc_mig_wait2(bootstrap_port, pu_vp->j_port, &status); + kr = vproc_mig_wait2(bootstrap_port, pu_vp->j_port, &status, false); vproc_release(pu_vp); } break; Modified: trunk/launchd/src/protocol_job_reply.defs =================================================================== --- trunk/launchd/src/protocol_job_reply.defs 2009-06-18 22:47:09 UTC (rev 23927) +++ trunk/launchd/src/protocol_job_reply.defs 2009-07-02 23:29:48 UTC (rev 23928) @@ -100,4 +100,5 @@ simpleroutine job_mig_wait2_reply( __r_port : mach_port_move_send_once_t; __result : kern_return_t, RetCode; - __waitval : integer_t); + __waitval : integer_t; + __legacy : boolean_t); Modified: trunk/launchd/src/protocol_vproc.defs =================================================================== --- trunk/launchd/src/protocol_vproc.defs 2009-06-18 22:47:09 UTC (rev 23927) +++ trunk/launchd/src/protocol_vproc.defs 2009-07-02 23:29:48 UTC (rev 23928) @@ -225,4 +225,5 @@ __bs_port : job_t; __target_port : job_t; sreplyport __rport : mach_port_make_send_once_t; -out __waitval : integer_t); +out __waitval : integer_t; + __legacy : boolean_t); -------------- next part -------------- An HTML attachment was scrubbed... URL: From source_changes at macosforge.org Thu Jul 2 16:32:19 2009 From: source_changes at macosforge.org (source_changes at macosforge.org) Date: Thu, 2 Jul 2009 16:32:19 -0700 (PDT) Subject: [launchd-changes] [23929] trunk/launchd/src Message-ID: <20090702233219.5C1371FB8B65@beta.macosforge.org> Revision: 23929 http://trac.macosforge.org/projects/launchd/changeset/23929 Author: dsorresso at apple.com Date: 2009-07-02 16:32:19 -0700 (Thu, 02 Jul 2009) Log Message: ----------- launchctl properly detects boot args. Modified Paths: -------------- trunk/launchd/src/launchctl.c trunk/launchd/src/launchd_runtime.c Modified: trunk/launchd/src/launchctl.c =================================================================== --- trunk/launchd/src/launchctl.c 2009-07-02 23:29:48 UTC (rev 23928) +++ trunk/launchd/src/launchctl.c 2009-07-02 23:32:19 UTC (rev 23929) @@ -4054,7 +4054,7 @@ } char bootargs[128]; - size_t len = 0; + size_t len = sizeof(bootargs) - 1; int r = sysctlbyname("kern.bootargs", bootargs, &len, NULL, 0); if( r == 0 && strnstr(bootargs, "-v", len) != NULL ) { g_verbose_boot = true; Modified: trunk/launchd/src/launchd_runtime.c =================================================================== --- trunk/launchd/src/launchd_runtime.c 2009-07-02 23:29:48 UTC (rev 23928) +++ trunk/launchd/src/launchd_runtime.c 2009-07-02 23:32:19 UTC (rev 23929) @@ -1833,7 +1833,7 @@ } char bootargs[128]; - size_t len = sizeof(bootargs); + size_t len = sizeof(bootargs) - 1; int r = pid1_magic ? sysctlbyname("kern.bootargs", bootargs, &len, NULL, 0) : -1; if( r == 0 && strnstr(bootargs, "-v", len) != NULL ) { g_verbose_boot = true; -------------- next part -------------- An HTML attachment was scrubbed... URL: From source_changes at macosforge.org Thu Jul 2 16:36:18 2009 From: source_changes at macosforge.org (source_changes at macosforge.org) Date: Thu, 2 Jul 2009 16:36:18 -0700 (PDT) Subject: [launchd-changes] [23930] trunk/launchd/src/launchctl.c Message-ID: <20090702233618.209991FB8C7E@beta.macosforge.org> Revision: 23930 http://trac.macosforge.org/projects/launchd/changeset/23930 Author: dsorresso at apple.com Date: 2009-07-02 16:36:17 -0700 (Thu, 02 Jul 2009) Log Message: ----------- Startup debugging dependent on same file as shutdown debugging. Modified Paths: -------------- trunk/launchd/src/launchctl.c Modified: trunk/launchd/src/launchctl.c =================================================================== --- trunk/launchd/src/launchctl.c 2009-07-02 23:32:19 UTC (rev 23929) +++ trunk/launchd/src/launchctl.c 2009-07-02 23:36:17 UTC (rev 23930) @@ -4056,7 +4056,7 @@ char bootargs[128]; size_t len = sizeof(bootargs) - 1; int r = sysctlbyname("kern.bootargs", bootargs, &len, NULL, 0); - if( r == 0 && strnstr(bootargs, "-v", len) != NULL ) { + if( r == 0 && stat("/var/db/.launchd_shutdown_debugging", &sb) == 0 && strnstr(bootargs, "-v", len) != NULL ) { g_verbose_boot = true; } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From source_changes at macosforge.org Thu Jul 2 17:13:18 2009 From: source_changes at macosforge.org (source_changes at macosforge.org) Date: Thu, 2 Jul 2009 17:13:18 -0700 (PDT) Subject: [launchd-changes] [23931] tags/launchd-327/ Message-ID: <20090703001318.CCD561FB9DA4@beta.macosforge.org> Revision: 23931 http://trac.macosforge.org/projects/launchd/changeset/23931 Author: dsorresso at apple.com Date: 2009-07-02 17:13:18 -0700 (Thu, 02 Jul 2009) Log Message: ----------- Tagging launchd-327. Added Paths: ----------- tags/launchd-327/ Property changes on: tags/launchd-327 ___________________________________________________________________ Added: svn:ignore + build Added: 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From source_changes at macosforge.org Fri Jul 24 15:46:11 2009 From: source_changes at macosforge.org (source_changes at macosforge.org) Date: Fri, 24 Jul 2009 15:46:11 -0700 (PDT) Subject: [launchd-changes] [23932] trunk/launchd/src/launchd_core_logic.c Message-ID: <20090724224611.E8E862196BFF@beta.macosforge.org> Revision: 23932 http://trac.macosforge.org/projects/launchd/changeset/23932 Author: dsorresso at apple.com Date: 2009-07-24 15:46:11 -0700 (Fri, 24 Jul 2009) Log Message: ----------- launchd fails to listen to KeepAlive path alias /var/db Modified Paths: -------------- trunk/launchd/src/launchd_core_logic.c Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2009-07-03 00:13:18 UTC (rev 23931) +++ trunk/launchd/src/launchd_core_logic.c 2009-07-24 22:46:11 UTC (rev 23932) @@ -4655,6 +4655,8 @@ if( !si->watching_parent ) { if (si->why == PATH_CHANGES) { j->start_pending = true; + } else { + semaphoreitem_watch(j, si); } } else { /* Something happened to the parent directory. See if our target file appeared. */ if( !invalidation_reason[0] ) { @@ -4662,6 +4664,7 @@ si->fd = -1; /* this will get fixed in semaphoreitem_watch() */ semaphoreitem_watch(j, si); } + /* Need to think about what should happen if the parent directory goes invalid. */ } job_dispatch(j, false); @@ -5228,11 +5231,13 @@ if( si->fd != -1 && !si->watching_parent ) { /* Need to be watching the parent now. */ job_assumes(j, runtime_close(si->fd) == 0); si->fd = -1; + semaphoreitem_watch(j, si); } } else { /* File is there but we wish it wasn't. */ if( si->fd != -1 && si->watching_parent ) { /* Need to watch the file now. */ job_assumes(j, runtime_close(si->fd) == 0); si->fd = -1; + semaphoreitem_watch(j, si); } } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From source_changes at macosforge.org Fri Jul 24 15:46:44 2009 From: source_changes at macosforge.org (source_changes at macosforge.org) Date: Fri, 24 Jul 2009 15:46:44 -0700 (PDT) Subject: [launchd-changes] [23933] tags/launchd-328/ Message-ID: <20090724224644.11EFF2196CAB@beta.macosforge.org> Revision: 23933 http://trac.macosforge.org/projects/launchd/changeset/23933 Author: dsorresso at apple.com Date: 2009-07-24 15:46:43 -0700 (Fri, 24 Jul 2009) Log Message: ----------- "Tagging launchd-328 from https://svn.macosforge.org/repository/launchd/trunk" Added Paths: ----------- tags/launchd-328/ Property changes on: tags/launchd-328 ___________________________________________________________________ Added: svn:ignore + build Added: 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: