(In reply to Daniel van Vugt from comment #11)
> attachment 139297 [details] [review] mentions multiple times "why" it is
> necessary to make it synchronous. Because it's impossible to detect errors
> in XShmAttach otherwise.
It is not impossible to detect errors without XSync.
Display::async_handlers can be used. The result would be async and
the patch comment claims that _cairo_xlib_shm_pool_create must return
a reliable status synchronously. I haven't check that claim, but if so, I
wonder whether it would be possible to take a fallback path until the pool is
successfully created.
(In reply to Daniel van Vugt from comment #11)
> attachment 139297 [details] [review] mentions multiple times "why" it is
> necessary to make it synchronous. Because it's impossible to detect errors
> in XShmAttach otherwise.
It is not impossible to detect errors without XSync.
Display: :async_ handlers can be used. The result would be async and xlib_shm_ pool_create must return
the patch comment claims that _cairo_
a reliable status synchronously. I haven't check that claim, but if so, I
wonder whether it would be possible to take a fallback path until the pool is
successfully created.