switching the server to poll/epoll

Keith Packard keithp at keithp.com
Mon Jun 13 21:38:11 UTC 2016


Adam Jackson <ajax at redhat.com> writes:

> You've still got the glamor glClientWaitSync patch in this series. My
> reading of Michel and Eric's comments is that the 3D driver is properly
> responsible for this, so it should be dropped before merging. Even if
> we were to keep this workaround, it should be conditional on GL 3.2 or
> 3.1 + ARB_sync or GLES + APPLE_sync.

Right, I forgot to remove that and stick it in a separate patch for my
local use until the driver is fixed.

> I'm not convinced of the Xephyr change to drain the event queue in
> BlockHandler. How exactly would we not get the notify fd callback?
> Surely if xcb_poll_for_queued_event() finds new events to work on, then
> the poll() we're about to do would see the fd as readable.

If something else reads events, such as libGL, then the events will be
queued inside xcb and not left on the fd. Note that I'm using
'xcb_poll_for_queued_event', which only looks for events already read
From the socket and hence unable to wake up poll.

I found this when doing the glClientWaitSync patch, but believe that it
is generally necessary. Note that it doesn't do any syscalls, so it's
not that expensive at least.

> The dmx select→poll conversion needs a trivial fixup now that
> dmxsigio.c is gone.

Fixed by just not patching dmxsigio.c

> Since WSAPoll doesn't seem to work correctly we should probably do
> something like https://github.com/bmc/poll for mingw builds.

It's almost like we should just leave the code broken and assume that
the mingw team will back-fill with WSAEventSelect support. That looks
like it's close enough to the epoll code that converting would be easy,
except for finding all of the cases which don't work right.

> For everything else:
>
> Reviewed-by: Adam Jackson <ajax at redhat.com>

Thanks. I've marked all of the patches with this except for the DMX
eliminate use of AddEnabledDevice and ephyr process queued X events
before blocking changes noted above.

-- 
-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/20160613/d7b56a43/attachment.sig>


More information about the xorg-devel mailing list