<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:jeremyhu@freedesktop.org" title="Jeremy Huddleston Sequoia <jeremyhu@freedesktop.org>"> <span class="fn">Jeremy Huddleston Sequoia</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - _XReadEvents is treating EAGAIN as a fatal error instead of just trying again"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92652">bug 92652</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Product</td>
           <td>xorg
           </td>
           <td>XCB
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Component</td>
           <td>Lib/Xlib
           </td>
           <td>Library
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">QA Contact</td>
           <td>xorg-team@lists.x.org
           </td>
           <td>xcb@lists.freedesktop.org
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - _XReadEvents is treating EAGAIN as a fatal error instead of just trying again"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92652#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - _XReadEvents is treating EAGAIN as a fatal error instead of just trying again"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92652">bug 92652</a>
              from <span class="vcard"><a class="email" href="mailto:jeremyhu@freedesktop.org" title="Jeremy Huddleston Sequoia <jeremyhu@freedesktop.org>"> <span class="fn">Jeremy Huddleston Sequoia</span></a>
</span></b>
        <pre>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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>