xwayland/xwm: implement somewhat asynchronous request flushing

Instead of calling xcb_flush() directly, wait until the FD is
writable.

Ideally we'd have a non-blocking variant instead of xcb_flush(),
but libxcb doesn't have this. Also libxcb blocks when its internal
buffer is full, but not much we can do here.
This commit is contained in:
Simon Ser 2023-08-21 12:16:24 +02:00 committed by Kirill Primak
parent c9fe96102d
commit 6ada67da9b
6 changed files with 39 additions and 23 deletions

View file

@ -172,4 +172,6 @@ xcb_void_cookie_t xwm_send_event_with_size(xcb_connection_t *c,
uint8_t propagate, xcb_window_t destination,
uint32_t event_mask, const void *event, uint32_t length);
void xwm_schedule_flush(struct wlr_xwm *xwm);
#endif