switching the server to poll/epoll

Keith Packard keithp at keithp.com
Tue Jun 14 22:12:45 UTC 2016


Adam Jackson <ajax at redhat.com> writes:

> Okay, that makes sense. I'm still a little wary of it, because I don't
> trust myself to remember the BlockHandler wrapping order and therefore
> worry that actions triggered in ephyrXcbHandleEvent might not be safe
> to do while we're halfway unwound. (eg, would an expose event trigger
> some drawing that wouldn't flush through promptly because shadow has
> already synced with the screen in its BlockHandler.)

yeah, everything but configure notify would be fine; even expose events
are fine -- they go through the same path as damage, which works. But,
configure seems scary, so I just fixed it. Could also just pend the
configure notify event for later processing, but I didn't see any
benefit in making it more complicated.

> One possibility might be:
>
>     if (xcb_peek_queued_event(conn) != 0)
>         AdjustWaitForDelay(timeout, 0);

That's effectively what I did, by adding a single-event queue inside
ephyr to hold any fetched event. Patches on the list; I even managed to
get ephyr resize working with glamor now.

-- 
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20160614/5d4a51f4/attachment.sig>


More information about the xorg-devel mailing list