From 29cf7713dab0a0037b6b6f7dc31a333798d4b46a Mon Sep 17 00:00:00 2001 From: hreintke Date: Sat, 30 Dec 2017 16:33:22 +0100 Subject: [PATCH] Prevent endless loop in run_scheduled_functions --- cores/esp8266/Schedule.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cores/esp8266/Schedule.cpp b/cores/esp8266/Schedule.cpp index 6fabd942ab..27b9731954 100644 --- a/cores/esp8266/Schedule.cpp +++ b/cores/esp8266/Schedule.cpp @@ -65,12 +65,12 @@ bool schedule_function(std::function fn) void run_scheduled_functions() { - while (sFirst) { - scheduled_fn_t* item = sFirst; - sFirst = item->mNext; - if (sFirst == NULL) { - sLast = NULL; - } + scheduled_fn_t* rFirst = sFirst; + sFirst = NULL; + sLast = NULL; + while (rFirst) { + scheduled_fn_t* item = rFirst; + rFirst = item->mNext; item->mFunc(); item->mFunc = std::function(); recycle_fn(item);