1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Prevent endless loop in run_scheduled_functions (#4048)

This commit is contained in:
hreintke 2017-12-31 07:53:42 +01:00 committed by Develo
parent b2e2d2272f
commit f9c60a226a

View File

@ -65,12 +65,12 @@ bool schedule_function(std::function<void(void)> fn)
void run_scheduled_functions() void run_scheduled_functions()
{ {
while (sFirst) { scheduled_fn_t* rFirst = sFirst;
scheduled_fn_t* item = sFirst; sFirst = NULL;
sFirst = item->mNext;
if (sFirst == NULL) {
sLast = NULL; sLast = NULL;
} while (rFirst) {
scheduled_fn_t* item = rFirst;
rFirst = item->mNext;
item->mFunc(); item->mFunc();
item->mFunc = std::function<void(void)>(); item->mFunc = std::function<void(void)>();
recycle_fn(item); recycle_fn(item);