•Created by bighugemassive3 on 12/12/2024 in #help
Race condition with Interlocked.Exchange
I guess InvokeAsync updated the value after the first ExecuteCore, and then that cleared the value. But because InvokeAsync was called during the first ExecuteCore, the critical state got set so ExecuteCore was called again
•Created by bighugemassive3 on 12/12/2024 in #help
Race condition with Interlocked.Exchange
Which is why I introduced the critical continue state, which tells the task to keep running since InvokeAsync was invoked very closely around ExecuteCore