libX11: Changes to 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 28 15:32:24 UTC 2018


 src/xcb_io.c |   15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

New commits:
commit 406afe4b0f1b655c0db19bbc9a0c48da9a46acf5
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Sep 25 17:10:58 2018 +0200

    poll_for_response: Call poll_for_event again if xcb_poll_for_reply fails
    
    If xcb_poll_for_reply fails to find a reply, poll_for_response would
    always return NULL. However, xcb_poll_for_reply may have read events
    from the display connection while looking for a reply. In that case,
    returning NULL from poll_for_response is wrong and can result in the
    client hanging, e.g. because it returns to waiting for the display
    connection file descriptor becoming readable after XPending incorrectly
    returned 0 pending events.
    
    The solution is to call poll_for_event again after xcb_poll_for_reply
    returned 0. This will return the first of any events read by
    xcb_poll_for_reply.
    
    Fixes issue #79.
    
    Reported-by: Yuxuan Shui <yshuiv7 at gmail.com>
    Bugzilla: https://bugs.freedesktop.org/108008
    Bugzilla: https://bugs.freedesktop.org/107992
    Reviewed-by: Adam Jackson <ajax at redhat.com>



More information about the xorg-commit mailing list