Me and a friend use tokio already for a long time and know to "never block in an async context/runtime". So when we talk with newcomers to Rust and async/await, we tell them so too. But we don't just want to tell "don't do it", we'd like to say "look at this article, site. This shows what happens if you do".
We were unable to find an up-to-date and precise article that does exactly that, for easy sharing. I remember things like the current thread might get taken completely off the runtime and any pending tasks might get stuck with it, never to recover. And similar things like that, maybe from some older recordings of Jon Gjengset (pre tokio 1.0).
So would just love to know if there is a nice article out there that explores what would actually happen (or can happen) if you execute blocking calls on the tokio runtime. Best if it even even explores whether it might be okay to block for shorter times, and what happens a long blocking call completes (is the runtime able to recover and what not).
If anybody has a good article on it, please let me know.




