aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rc/rc-schedules.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rc/rc-schedules.c b/src/rc/rc-schedules.c
index 8f36f073..f7ef20fb 100644
--- a/src/rc/rc-schedules.c
+++ b/src/rc/rc-schedules.c
@@ -351,8 +351,9 @@ int run_stop_schedule(const char *applet,
tkilled += nkilled;
break;
+ case SC_FOREVER:
case SC_TIMEOUT:
- if (item->value < 1) {
+ if (item->type == SC_TIMEOUT && item->value < 1) {
item = NULL;
break;
}
@@ -360,7 +361,7 @@ int run_stop_schedule(const char *applet,
ts.tv_sec = 0;
ts.tv_nsec = POLL_INTERVAL;
- for (nsecs = 0; nsecs < item->value; nsecs++) {
+ for (nsecs = 0; item->type == SC_FOREVER || nsecs < item->value; nsecs++) {
for (nloops = 0;
nloops < ONE_SECOND / POLL_INTERVAL;
nloops++)