Summary: | Thread hangs in xcb_wait_for_reply() if another thread calls xcb_poll_for_event() | ||
---|---|---|---|
Product: | XCB | Reporter: | Uli Schlachter <psychon> |
Component: | Library | Assignee: | xcb mailing list dummy <xcb> |
Status: | RESOLVED FIXED | QA Contact: | xcb mailing list dummy <xcb> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Test case causing hang
Proposed patch |
Created attachment 50562 [details] [review] Proposed patch Fixed in 5ceeaaa4294201b3f613c07f9ec610c0e5f673c7 Thanks, Uli. Is this ok to version 1.7 in opensuse 11.4 ? |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 50561 [details] Test case causing hang Hi, thanks to sroedal who described this problem on IRC, I came up with the attached test case. The thread doing GetInputFocus requests here will hang in recv() almost instantly. This happens because xcb_poll_for_event() can cause two threads to read data from the connection because this function doesn't synchronize with anything else. This means that the main thread will read the reply, but the thread waiting for the reply will still be struck in recv(). Uli