Bug 8521

Summary: AllocAndFetchScreenConfigs unlocks twice
Product: Mesa Reporter: Jamey Sharp <jamey>
Component: GLXAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high CC: dberkholz, josh
Version: git   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Jamey Sharp 2006-10-05 17:27:02 UTC
AllocAndFetchScreenConfigs always calls UnlockDisplay twice without an
intervening LockDisplay. We found this because XCB asserts that you can't unlock
the display if you don't have it locked.

While fixing this we noticed that SyncHandle isn't consistently called after
UnlockDisplay in this function.

--- glxext.c    26 Sep 2006 23:56:20 -0000      1.25
+++ glxext.c    6 Oct 2006 00:17:39 -0000
@@ -1016,11 +1016,11 @@ static Bool AllocAndFetchScreenConfigs(D
        if (!_XReply(dpy, (xReply*) &reply, 0, False)) {
            /* Something is busted. Punt. */
            UnlockDisplay(dpy);
+           SyncHandle();
            FreeScreenConfigs(priv);
            return GL_FALSE;
        }
 
-       UnlockDisplay(dpy);
        if (!reply.numVisuals) {
            /* This screen does not support GL rendering */
            UnlockDisplay(dpy);
Comment 1 Brian Paul 2006-10-09 07:57:58 UTC
Fixed in CVS.
Comment 2 Adam Jackson 2009-08-24 12:24:33 UTC
Mass version move, cvs -> git

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.