Ok, I've reworked this patch series to try and have it make some semblance of sense. There's two scary patches, 18/23 and 19/23; everything else is pretty self contained.
The first patch flips to the new font API: [PATCH xserver 01/23] dix: Switch to the libXfont2 API (v2) Then changes to move from select(2) to poll(2) in various isolated bits of the server: [PATCH xserver 02/23] kdrive: switch from select(2) to poll(2) [PATCH xserver 03/23] xfree86: Switch from select(2) to poll(2) [PATCH xserver 04/23] dmx: Switch from select(2) to poll(2) for input [PATCH xserver 05/23] os: Switch from select(2) to poll(2) in Then a bunch of fixes related to the use of NotifyFd APIs: [PATCH xserver 06/23] hw/xfree86: Use NotifyFd for other input fd [PATCH xserver 07/23] xnest: Use SetNotifyFd to receive events [PATCH xserver 08/23] hw/kdrive: Use passed-in fd for kdrive/linux [PATCH xserver 09/23] modesetting: Use passed-in fd for drm event [PATCH xserver 10/23] dmx: Eliminate use of AddEnabledDevice And, with everyone using NotifyFd outside of OS, all of the fd_set's visible in the API can be removed: [PATCH xserver 11/23] Remove readmask from screen block/wakeup [PATCH xserver 12/23] Remove fd_set from Block/Wakeup handler API [PATCH xserver 13/23] Remove AddEnabledDevice and AddGeneralSocket Next come a few small cleanups in the server to prepare for major surgery ahead: [PATCH xserver 14/23] dix/os: Merge priority computation into [PATCH xserver 15/23] dix: Intermediate GrabServer state [PATCH xserver 16/23] os: Compute timeout in milliseconds instead of Here's the new interface which I've already sent out. Adam Jackson has suggested that perhaps the edge trigger mode could be a hint instead of a requirement. I haven't done that yet, but it seems like it might be reasonable. Nothing is hooked to this in this patch. [PATCH xserver 17/23] os: Add ospoll interface Two patches which change the server to use the new ospoll bits in WaitForSomething. All of the old select mask frobbing is gone. [PATCH xserver 18/23] dix: Use list for ready clients [PATCH xserver 19/23] os: Switch server to poll(2) Next, the input thread is changed over [PATCH xserver 20/23] os: Use poll(2) for input thread Finally, with the server now independent of fd values, a few cleanups [PATCH xserver 21/23] os: eliminate fd value limits for clients [PATCH xserver 22/23] Allow 1024 and 2048 for LimitClients [PATCH xserver 23/23] os: Leave stdin and stdout open -keith _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel