6004ecdc14
x11rb caches X11 events internally. This cache is used when waiting for the reply of a request and an event is received first. This cache is however also used when sending a request, because the X11 client may never block and stop reading while writing a request. Doing so could cause a deadlock with the X11 server. Thus, this commit changes X11Source to spawn a thread internally. This thread calls wait_for_event() in a loop and uses a calloop channel to forward these events to the main loop. x11rb's RustConnection internally uses a ConditionVariable to make sure this thread will wake up when needed. Signed-off-by: Uli Schlachter <psychon@znc.in> |
||
---|---|---|
.. | ||
resources | ||
src | ||
Cargo.toml | ||
build.rs |