Revision: 23238 http://trac.macosforge.org/projects/launchd/changeset/23238 Author: zarzycki@apple.com Date: 2007-04-27 09:52:28 -0700 (Fri, 27 Apr 2007) Log Message: ----------- More sanity checks and clean up. Modified Paths: -------------- trunk/launchd/src/launchd_core_logic.c Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2007-04-27 16:40:55 UTC (rev 23237) +++ trunk/launchd/src/launchd_core_logic.c 2007-04-27 16:52:28 UTC (rev 23238) @@ -5191,8 +5191,8 @@ pid_array_t l2l_pids = NULL; mach_port_array_t l2l_ports = NULL; mach_port_t reqport, rcvright; - kern_return_t kr; - jobmgr_t jmr; + kern_return_t kr = 1; + jobmgr_t jmr = NULL; job_t j2; if (getuid() == 0) { @@ -5243,11 +5243,13 @@ job_t j_for_service = jobmgr_find_by_pid(jmr, l2l_pids[l2l_i], true); struct machservice *ms; - if (jobmgr_assumes(jmr, j_for_service != NULL)) { - if ((ms = machservice_new(j_for_service, l2l_names[l2l_i], &l2l_ports[l2l_i], false))) { - machservice_request_notifications(ms); - } + if (!jobmgr_assumes(jmr, j_for_service != NULL)) { + goto out; } + + if ((ms = machservice_new(j_for_service, l2l_names[l2l_i], &l2l_ports[l2l_i], false))) { + machservice_request_notifications(ms); + } } kr = 0; @@ -5262,6 +5264,9 @@ if (l2l_pids) { mig_deallocate((vm_address_t)l2l_pids, l2l_pid_cnt * sizeof(l2l_pids[0])); } + if (kr && jmr) { + jobmgr_shutdown(jmr); + } return kr; }
participants (1)
-
source_changes@macosforge.org