[Xcb] [Bug 92652] _XReadEvents is treating EAGAIN as a fatal error instead of just trying again

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat May 28 22:12:48 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=92652

Jeremy Huddleston Sequoia <jeremyhu at freedesktop.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Product|xorg                        |XCB
          Component|Lib/Xlib                    |Library
         QA Contact|xorg-team at lists.x.org       |xcb at lists.freedesktop.org

--- Comment #5 from Jeremy Huddleston Sequoia <jeremyhu at freedesktop.org> ---
xcb_generic_event_t *event;
dpy->xcb->event_waiter = 1;
UnlockDisplay(dpy);
event = xcb_wait_for_event(dpy->xcb->connection);
/* It appears that classic Xlib respected user
 * locks when waking up after waiting for
 * events. However, if this thread did not have
 * any user locks, and another thread takes a
 * user lock and tries to read events, then we'd
 * deadlock. So we'll choose to let the thread
 * that got in first consume events, despite the
 * later thread's user locks. */
InternalLockDisplay(dpy, /* ignore user locks */ 1);
dpy->xcb->event_waiter = 0;
ConditionBroadcast(dpy, dpy->xcb->event_notify);
if(!event)
        _XIOError(dpy);   // Here's where we're bailing.

So xcb_wait_for_event() is returning NULL.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/xcb/attachments/20160528/07a9d12f/attachment.html>


More information about the Xcb mailing list