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;
}