[Xcb] [Bug 84252] DRI3 rendering gets stuck waiting for present idle notify event

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jun 12 00:55:27 PDT 2015


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

--- Comment #52 from Uli Schlachter <psychon at znc.in> ---
Part of the patch was pushed:

commit f85661c3bca97faa72431df92a3867be39a74e23
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Mon Jun 1 11:04:18 2015 +0900

    Call _xcb_wake_up_next_reader from xcb_wait_for_special_event

    All functions calling _xcb_conn_wait() must make sure that waiting
    readers are woken up when we read a reply or event that they are waiting
    for. xcb_wait_for_special_event() did not do so. This adds the missing
    call to_xcb_in_wake_up_next_reader().

    Fixes deadlock when waiting for a special event and concurrently
    processing the display connection queue in another thread.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84252
    Tested-by: Thomas Daede <bztdlinux at gmail.com>
    Tested-by: Clément Guérin <geecko.dev at free.fr>
    Reviewed-by: Uli Schlachter <psychon at znc.in>
    Signed-off-by: Michel Dänzer <michel at daenzer.net>
    Signed-off-by: Uli Schlachter <psychon at znc.in>

diff --git a/src/xcb_in.c b/src/xcb_in.c
index 623a0a8..322bed8 100644
--- a/src/xcb_in.c
+++ b/src/xcb_in.c
@@ -761,6 +761,7 @@ xcb_generic_event_t
*xcb_wait_for_special_event(xcb_connection_t *c,
         if(!_xcb_conn_wait(c, &se->special_event_cond, 0, 0))
             break;

+    _xcb_in_wake_up_next_reader(c);
     pthread_mutex_unlock(&c->iolock);
     return event;
 }

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/xcb/attachments/20150612/222c31cd/attachment.html>


More information about the Xcb mailing list