You need to sign in or sign up before continuing.
event-loop: Add an optional post-dispatch source callout
This lets a source mark itself as ready to dispatch even though the fd didn't trigger. What can happen is that for the X11 socket, some other source callback (the drm fd or a wayland client socket) can cause somebody to do an X roundtrip (DRI2 get buffers, for example) and queue up events in the xcb buffer. When we get back to epoll, the X fd no longer polls readable and we don't process those events until we get another X event. The check callback is called after a round of dispatching and lets a source check if it has data to dispatch and mark itself ready. Next round of dispatching will then process it immediately instead of blocking in epoll_wait().
Loading
Please register or sign in to comment