So, I know that true parallelization is not possible with Lua's coroutines, but I thought it would be fun to implement something like a server with multiple users.
The basic idea is that the kernel runs coroutines according to priorities (just like in real life) and maybe "punishes" threads that take too long to yield (it runs them less often).
This is all fine and dandy, but it would also be nice to run non-blocking threads while a thread is waiting on a blocking operation (events). That's where the problems arise.
Waiting on pullSignal would blocks other theads, even with a timeout.