[launchd-changes] [23238] trunk/launchd/src/launchd_core_logic.c

source_changes at macosforge.org source_changes at macosforge.org
Fri Apr 27 09:52:28 PDT 2007


Revision: 23238
          http://trac.macosforge.org/projects/launchd/changeset/23238
Author:   zarzycki at 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;
 }

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20070427/8961cfbd/attachment.html


More information about the launchd-changes mailing list