Mesa (master): glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path

Emil Velikov evelikov at kemper.freedesktop.org
Wed Apr 9 21:11:28 UTC 2014


Module: Mesa
Branch: master
Commit: f9832f960fa8edcee0eb6866698cc5f9f25bd8f9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9832f960fa8edcee0eb6866698cc5f9f25bd8f9

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Sun Mar 16 02:56:18 2014 +0000

glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path

With commit 1f1928db001(glx: Drop _Xglobal_lock while we create and
initialize glx display) we've split the big _Xglobal_lock handling in
a more fine grained manner.

Unfortunatelly we forgot to drop the unlock_mutex on the error paths,
leading to undefined behaviour as the mutex is already unlocked.

Cc: Kristian Høgsberg <krh at bitplanet.net>
Cc: "9.2 10.0 10.1"  <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/glx/glxext.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 0838cd1..2931790 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -830,7 +830,6 @@ __glXInitialize(Display * dpy)
    dpyPriv->codes = XInitExtension(dpy, __glXExtensionName);
    if (!dpyPriv->codes) {
       free(dpyPriv);
-      _XUnlockMutex(_Xglobal_lock);
       return NULL;
    }
 
@@ -846,7 +845,6 @@ __glXInitialize(Display * dpy)
 		     &dpyPriv->majorVersion, &dpyPriv->minorVersion)
        || (dpyPriv->majorVersion == 1 && dpyPriv->minorVersion < 1)) {
       free(dpyPriv);
-      _XUnlockMutex(_Xglobal_lock);
       return NULL;
    }
 
@@ -911,7 +909,7 @@ __glXInitialize(Display * dpy)
    dpyPriv->next = glx_displays;
    glx_displays = dpyPriv;
 
-    _XUnlockMutex(_Xglobal_lock);
+   _XUnlockMutex(_Xglobal_lock);
 
    return dpyPriv;
 }




More information about the mesa-commit mailing list