This can cause a race condition depending on the use case and configuration. The state pointer could be freed by another thread immediately after the eventual is set. If this happens fast enough, then the pointer could be invalid on the following line.
We probably just need to invert these calls in affected functions.
Some of the I/O servicing functions end with code patterns like this:
This can cause a race condition depending on the use case and configuration. The state pointer could be freed by another thread immediately after the eventual is set. If this happens fast enough, then the pointer could be invalid on the following line.
We probably just need to invert these calls in affected functions.