From 916eb89b0754a06a4eab165b345319f26ac7cc03 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" <19971886+dok-net@users.noreply.github.com> Date: Wed, 20 Nov 2019 04:50:40 +0100 Subject: [PATCH] Mark esp_schedule IRAM_ATTR to make it ISR safe - this complements the suspend CONT via esp_yield pattern in esp_delay for early returning from delay due to external events. In libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp this is done from CBs, that are called from tools/sdk/lwip/include/lwip/dns.h (#6809) --- cores/esp8266/core_esp8266_main.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cores/esp8266/core_esp8266_main.cpp b/cores/esp8266/core_esp8266_main.cpp index 4818852fc..850d9b95a 100644 --- a/cores/esp8266/core_esp8266_main.cpp +++ b/cores/esp8266/core_esp8266_main.cpp @@ -108,8 +108,7 @@ extern "C" void __esp_yield() { extern "C" void esp_yield() __attribute__ ((weak, alias("__esp_yield"))); -extern "C" void esp_schedule() { - // always on CONT stack here +extern "C" IRAM_ATTR void esp_schedule() { ets_post(LOOP_TASK_PRIORITY, 0, 0); }