Urgh. I hate libraries that believe that they are the most important thing in the universe and thus they must control the main loop of the program.
Especially when they're not reentrant nor thread safe.
And then the rust bindings say that there is no way to make the library actually safe.
The "fun" increases exponentially when you have to deal with multiple of such libraries in one program.
@robryk in the ideal case that's what you do. But some of them don't play nicely (eg messing with process wide state like signals or somehow making assumptions that they are the main thread)