Revision
23022
Author
zarzycki@apple.com
Date
2007-01-25 13:45:11 -0800 (Thu, 25 Jan 2007)

Log Message

Let's not drop errno on the floor in this function.

Modified Paths

Diff

Modified: trunk/launchd/src/launchd_core_logic.c (23021 => 23022)


--- trunk/launchd/src/launchd_core_logic.c	2007-01-24 21:46:56 UTC (rev 23021)
+++ trunk/launchd/src/launchd_core_logic.c	2007-01-25 21:45:11 UTC (rev 23022)
@@ -2912,6 +2912,7 @@
 {
 	mach_port_t p = jm->jm_port;
 	pid_t r = -1;
+	int saved_errno;
 
 	sigprocmask(SIG_BLOCK, &blocked_signals, NULL);
 
@@ -2921,6 +2922,8 @@
 
 	r = fork();
 
+	saved_errno = errno;
+
 	if (r != 0) {
 		jobmgr_assumes(jm, launchd_set_bport(MACH_PORT_NULL) == KERN_SUCCESS);
 	} else if (r == 0) {
@@ -2935,6 +2938,7 @@
 
 	sigprocmask(SIG_UNBLOCK, &blocked_signals, NULL);
 	
+	errno = saved_errno;
 	return r;
 }