[launchd-changes] [23476] trunk/launchd/src/launchd_core_logic.c
source_changes at macosforge.org
source_changes at macosforge.org
Fri Dec 21 13:53:38 PST 2007
Revision: 23476
http://trac.macosforge.org/projects/launchd/changeset/23476
Author: zarzycki at apple.com
Date: 2007-12-21 13:53:37 -0800 (Fri, 21 Dec 2007)
Log Message:
-----------
<rdar://problem/5317778> Bug: launchd_core_logic.c:5810 (23281):0: mspolicy_new(target_j, target_service, flags & BOOTSTRAP_ALLOW_LOOKUP, flags & BOOTSTRAP_PER_PID_SERVICE, false)
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-12-21 21:37:17 UTC (rev 23475)
+++ trunk/launchd/src/launchd_core_logic.c 2007-12-21 21:53:37 UTC (rev 23476)
@@ -6522,7 +6522,11 @@
if (SLIST_EMPTY(&j->mspolicies)) {
job_log(j, LOG_DEBUG, "Setting policy on job \"%s\" for Mach service: %s", target_j->label, target_service);
if (target_service[0]) {
- job_assumes(j, mspolicy_new(target_j, target_service, flags & BOOTSTRAP_ALLOW_LOOKUP, flags & BOOTSTRAP_PER_PID_SERVICE, false));
+ bool r = mspolicy_new(target_j, target_service, flags & BOOTSTRAP_ALLOW_LOOKUP, flags & BOOTSTRAP_PER_PID_SERVICE, false);
+
+ if (unlikely(!r) && job_assumes(j, errno == EEXIST)) {
+ job_log(j, LOG_ERR, "Tried to update a known policy on PID %u: %s", target_pid, target_service);
+ }
} else {
target_j->deny_unknown_mslookups = !(flags & BOOTSTRAP_ALLOW_LOOKUP);
}
@@ -6668,6 +6672,7 @@
if (msp->per_pid != pid_local) {
continue;
} else if (strcmp(msp->name, name) == 0) {
+ errno = EEXIST;
return false;
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20071221/81874453/attachment.html
More information about the launchd-changes
mailing list