[Xcb] [PATCH libxcb/libX11 0/3] Avoid excessive reads + automake fixes

Jamey Sharp jamey at minilop.net
Tue Mar 22 09:11:44 PDT 2011


On Tue, Mar 22, 2011 at 5:33 AM, Rami Ylimäki <rami.ylimaki at vincit.fi> wrote:
> The first two patches in the series introduce
> xcb_poll_for_queued_event and take that into use in libX11.
>
> The last patch cleans up the building of libX11-xcb and removes
> unnecessary dependencies to it.

For the series,

Reviewed-by: Jamey Sharp <jamey at minilop.net>

But I'm currently feeling a bit discouraged because, after off-list
discussion with Francesco Abbate and Uli Schlachter, I've learned that
my patch for the hang may not be sufficient and anyway can lead to
even single-threaded clients spinning. Test case attached to the bug:

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

(Also discouraged by trying to figure out what to do with the <switch>
implementation and padding bugs in the code generator.)

Rami, could you add to the first libX11 commit message some evidence
from strace showing that the patch does what you say it does? The code
looks correct but I'll feel better with some test results.

Also, I think that commit message wasn't quite right, since it says
something about only getting already-read replies in _XReadEvents.
That was already true since it uses xcb_poll_for_reply. The change is
that _XReadEvents doesn't try as hard now to get any *more* events
after it has read one; it's only required to "read as many events as
possible (but at least 1)", according to the comment in old versions
of XlibInt.c.

Jamey


More information about the Xcb mailing list