Modified: trunk/launchd/src/launchd_core_logic.c (22900 => 22901)
--- trunk/launchd/src/launchd_core_logic.c 2006-10-16 21:57:58 UTC (rev 22900)
+++ trunk/launchd/src/launchd_core_logic.c 2006-10-16 23:43:11 UTC (rev 22901)
@@ -234,7 +234,7 @@
anonymous:1;
mode_t mask;
unsigned int globargv:1, wait4debugger:1, transfer_bstrap:1, unload_at_exit:1, force_ppc:1,
- stall_before_exec:1, only_once:1;
+ stall_before_exec:1, only_once:1, currently_ignored:1;
char label[0];
};
@@ -332,6 +332,12 @@
struct machservice *ms;
struct watchpath *wp;
+ if (j->currently_ignored) {
+ return;
+ }
+
+ j->currently_ignored = true;
+
SLIST_FOREACH(sg, &j->sockets, sle) {
socketgroup_ignore(j, sg);
}
@@ -352,6 +358,12 @@
struct machservice *ms;
struct watchpath *wp;
+ if (!job_assumes(j, j->currently_ignored)) {
+ return;
+ }
+
+ j->currently_ignored = false;
+
SLIST_FOREACH(sg, &j->sockets, sle) {
socketgroup_watch(j, sg);
}