Hello, I'm currently working on a library that provides an asynchronous interface for creating game servers (for a specifc game). My library uses a C-extension to make the networking library used by the game accessible in python (so C bindings).
So the question is, if I were to await a coroutine that calls one of the blocking C functions (let's say something like recv) would the coroutine block the thread or would it pass control back to the event loop and then come back to it once the C function is done?
I'm fairly new to async and concurrency in general. Thanks!