Skip to content

Commit 61eb58a

Browse files
committed
esp_schedule: Fix a bug which could cause wrong expiry check for one shot schedules
One shot schedules are disabled in the esp_rmaker_schedule file as soon as they execute, resulting in their next trigger time to be set to 0. The code in esp_schedule was considering such schedules as "Not expired" and was erroneously starting a timer for them.
1 parent abc00d3 commit 61eb58a

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

components/esp_schedule/src/esp_schedule.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,9 @@ static bool esp_schedule_is_expired(esp_schedule_t *schedule)
266266
if (schedule->trigger.next_scheduled_time_utc > 0 && schedule->trigger.next_scheduled_time_utc <= current_timestamp) {
267267
/* One time schedule has expired */
268268
return true;
269+
} else if (schedule->trigger.next_scheduled_time_utc == 0) {
270+
/* Schedule has been disabled , so it is as good as expired. */
271+
return true;
269272
}
270273
}
271274
} else if (schedule->trigger.type == ESP_SCHEDULE_TYPE_DATE) {

0 commit comments

Comments
 (0)