[launchd-changes] [23593] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Tue Apr 8 13:37:28 PDT 2008


Revision: 23593
          http://trac.macosforge.org/projects/launchd/changeset/23593
Author:   zarzycki at apple.com
Date:     2008-04-08 13:37:28 -0700 (Tue, 08 Apr 2008)

Log Message:
-----------
<rdar://problem/5849623> Workaround 5225889 consistently

Modified Paths:
--------------
    trunk/launchd/src/launchd_core_logic.c
    trunk/launchd/src/launchd_runtime.c

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2008-04-08 16:37:06 UTC (rev 23592)
+++ trunk/launchd/src/launchd_core_logic.c	2008-04-08 20:37:28 UTC (rev 23593)
@@ -3447,9 +3447,6 @@
 
 	head_later = LIST_FIRST(&sorted_calendar_events)->when_next;
 
-	/* Workaround 5225889 */
-	kevent_mod((uintptr_t)&sorted_calendar_events, EVFILT_TIMER, EV_DELETE, 0, 0, root_jobmgr);
-
 	if (job_assumes(j, kevent_mod((uintptr_t)&sorted_calendar_events, EVFILT_TIMER, EV_ADD, NOTE_ABSOLUTE|NOTE_SECONDS, head_later, root_jobmgr) != -1)) {
 		char time_string[100];
 		size_t time_string_len;
@@ -5867,9 +5864,6 @@
 		} else if (inval) {
 			if (j->start_interval == 0) {
 				runtime_add_weak_ref();
-			} else {
-				/* Workaround 5225889 */
-				job_assumes(j, kevent_mod((uintptr_t)&j->start_interval, EVFILT_TIMER, EV_DELETE, 0, 0, j) != -1);
 			}
 			j->start_interval = inval;
 			job_assumes(j, kevent_mod((uintptr_t)&j->start_interval, EVFILT_TIMER, EV_ADD, NOTE_SECONDS, j->start_interval, j) != -1);

Modified: trunk/launchd/src/launchd_runtime.c
===================================================================
--- trunk/launchd/src/launchd_runtime.c	2008-04-08 16:37:06 UTC (rev 23592)
+++ trunk/launchd/src/launchd_runtime.c	2008-04-08 20:37:28 UTC (rev 23593)
@@ -840,6 +840,12 @@
 	case EVFILT_READ:
 	case EVFILT_WRITE:
 		break;
+	case EVFILT_TIMER:
+		/* Workaround 5225889 */
+		if (flags & EV_ADD) {
+			kevent_mod(ident, EVFILT_TIMER, EV_DELETE, 0, 0, NULL);
+		}
+		/* fall through */
 	default:
 		flags |= EV_CLEAR;
 		break;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20080408/37f4d323/attachment.html


More information about the launchd-changes mailing list