[PATCH v3] win32u: Cache GL driver functions in DC.

Jacek Caban jacek at codeweavers.com
Tue Feb 8 14:43:39 CST 2022


Hi Paul,

On 2/8/22 17:34, Paul Gofman wrote:
> +    if (!(dc = grab_dc( hdc ))) return NULL;
> +    physdev = GET_DC_PHYSDEV( dc, wine_get_wgl_driver );
> +    ret = physdev->funcs->wine_get_wgl_driver( physdev, version );
> +    InterlockedCompareExchangePointer( (void * volatile *)&dc->gl_funcs, ret, NULL );
> +    put_dc( hdc );


That doesn't seem thread safe, another thread may be modifying driver 
functions chain while we're reading it here.


Thanks,

Jacek




More information about the wine-devel mailing list