You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 20, 2025. It is now read-only.
I'm running ESPAsyncWebServer on ESP32, with AsyncTCP obviously.
I don't create any FreeRTOS tasks myself so I only have the Arduino loop() checking for some flags. Those flags are set from inside callbacks I passed to the ESPAsyncWebServer and AsyncTCP libraries.
However I only recently took a closer look at the source of the AsyncTCP library and realized a new task is created for calling the user supplied callbacks. Am I right in thinking that I should synchronize access between any variables accessed by both the loop() function and the callbacks (both in ESPAsyncWebServer and AsyncTCP) to prevent possible race conditions?
I'm asking because I haven't really seen this mentioned explicitly somewhere. I'm guessing it's only an "issue" on the ESP32?
I'm running ESPAsyncWebServer on ESP32, with AsyncTCP obviously.
I don't create any FreeRTOS tasks myself so I only have the Arduino loop() checking for some flags. Those flags are set from inside callbacks I passed to the ESPAsyncWebServer and AsyncTCP libraries.
However I only recently took a closer look at the source of the AsyncTCP library and realized a new task is created for calling the user supplied callbacks. Am I right in thinking that I should synchronize access between any variables accessed by both the loop() function and the callbacks (both in ESPAsyncWebServer and AsyncTCP) to prevent possible race conditions?
I'm asking because I haven't really seen this mentioned explicitly somewhere. I'm guessing it's only an "issue" on the ESP32?