[Mesa-dev] [PATCH 1/2] glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path

Emil Velikov emil.l.velikov at gmail.com
Wed Apr 9 07:41:06 PDT 2014


On 16/03/14 14:10, Emil Velikov wrote:
> 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.
> 
Gents, Kristian,

Can someone spare a few minutes to review this patch ? It addresses 3+ yo bug.

Cheers,
-Emil

> 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>
> ---
>  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 4a195bd..de73036 100644
> --- a/src/glx/glxext.c
> +++ b/src/glx/glxext.c
> @@ -826,7 +826,6 @@ __glXInitialize(Display * dpy)
>     dpyPriv->codes = XInitExtension(dpy, __glXExtensionName);
>     if (!dpyPriv->codes) {
>        free(dpyPriv);
> -      _XUnlockMutex(_Xglobal_lock);
>        return NULL;
>     }
>  
> @@ -842,7 +841,6 @@ __glXInitialize(Display * dpy)
>  		     &dpyPriv->majorVersion, &dpyPriv->minorVersion)
>         || (dpyPriv->majorVersion == 1 && dpyPriv->minorVersion < 1)) {
>        free(dpyPriv);
> -      _XUnlockMutex(_Xglobal_lock);
>        return NULL;
>     }
>  
> @@ -907,7 +905,7 @@ __glXInitialize(Display * dpy)
>     dpyPriv->next = glx_displays;
>     glx_displays = dpyPriv;
>  
> -    _XUnlockMutex(_Xglobal_lock);
> +   _XUnlockMutex(_Xglobal_lock);
>  
>     return dpyPriv;
>  }
> 



More information about the mesa-dev mailing list