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