[22929] trunk/launchd/src/launchd_core_logic.c
Revision: 22929 http://trac.macosforge.org/projects/launchd/changeset/22929 Author: zarzycki@apple.com Date: 2006-11-01 13:33:33 -0800 (Wed, 01 Nov 2006) Log Message: ----------- <rdar://problem/4808268> 9A297: Stuck at Blue Screen after MacBuddy on M39 (DS and security agent very very busy) Modified Paths: -------------- trunk/launchd/src/launchd_core_logic.c Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2006-10-31 22:00:53 UTC (rev 22928) +++ trunk/launchd/src/launchd_core_logic.c 2006-11-01 21:33:33 UTC (rev 22929) @@ -269,7 +269,7 @@ static void job_export_all2(job_t j, launch_data_t where); static launch_data_t job_export2(job_t j, bool subjobs); static job_t job_find_by_pid(job_t j, pid_t p, bool recurse); -static job_t job_new_spawn(const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc); +static job_t job_new_spawn(job_t j, const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc); static job_t job_new_via_mach_init(job_t jbs, const char *cmd, uid_t uid, bool ond); static job_t job_new_bootstrap(job_t p, mach_port_t requestorport, mach_port_t checkin_port); static bool job_new_anonymous(job_t p); @@ -766,16 +766,16 @@ } job_t -job_new_spawn(const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc) +job_new_spawn(job_t j, const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc) { job_t jr; - if ((jr = job_find(root_job, label)) != NULL) { + if ((jr = job_find(j, label)) != NULL) { errno = EEXIST; return NULL; } - jr = job_new(root_job, label, path, argv, NULL, MACH_PORT_NULL); + jr = job_new(j, label, path, argv, NULL, MACH_PORT_NULL); if (!jr) { return NULL; @@ -4048,7 +4048,7 @@ } } - jr = job_new_spawn(label, path, workingdir, argv, env, flags & SPAWN_HAS_UMASK ? &mig_umask : NULL, + jr = job_new_spawn(job_get_bs(j), label, path, workingdir, argv, env, flags & SPAWN_HAS_UMASK ? &mig_umask : NULL, flags & SPAWN_WANTS_WAIT4DEBUGGER, flags & SPAWN_WANTS_FORCE_PPC); if (jr == NULL) switch (errno) {
participants (1)
-
source_changes@macosforge.org