Skip to content

Commit f9c60a2

Browse files
hreintkedevyte
authored andcommitted
Prevent endless loop in run_scheduled_functions (#4048)
1 parent b2e2d22 commit f9c60a2

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

cores/esp8266/Schedule.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,12 @@ bool schedule_function(std::function<void(void)> fn)
6565

6666
void run_scheduled_functions()
6767
{
68-
while (sFirst) {
69-
scheduled_fn_t* item = sFirst;
70-
sFirst = item->mNext;
71-
if (sFirst == NULL) {
72-
sLast = NULL;
73-
}
68+
scheduled_fn_t* rFirst = sFirst;
69+
sFirst = NULL;
70+
sLast = NULL;
71+
while (rFirst) {
72+
scheduled_fn_t* item = rFirst;
73+
rFirst = item->mNext;
7474
item->mFunc();
7575
item->mFunc = std::function<void(void)>();
7676
recycle_fn(item);

0 commit comments

Comments
 (0)