Commit e43abdce authored by Chris Wilson's avatar Chris Wilson 🤔 Committed by Adam Jackson

dri2: Unblock Clients on Drawable release

If the Window is destroyed by another client, such as the window
manager, the original client may be blocked by DRI2 awaiting a vblank
event. When this happens, DRI2DrawableGone forgets to unblock that
client and so the wait never completes.

Note Present/xshmfence is also suspectible to this race.

Testcase: dri2-race/manager
Signed-off-by: Chris Wilson's avatarChris Wilson <>
Cc: Ville Syrjälä <>
Reviewed-by: Ville Syrjälä's avatarVille Syrjälä <>
parent a722d617
......@@ -413,6 +413,9 @@ DRI2DrawableGone(void *p, XID id)
if (pPriv->blockedClient)
return Success;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment