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

Author: Brian Paul <[email protected]>
Date:   Mon Nov  9 14:51:56 2015 -0700

st/wgl: fix locking issue in stw_st_framebuffer_present_locked()

When stw_st_framebuffer_present_locked() is called, the
stw_framebuffer's mutex will already be locked.  Normally, the
stw_framebuffer_present_locked() function calls
stw_framebuffer_release() to unlock the mutex when it's done.  But if
for some reason the 'resource' pointer in
stw_st_framebuffer_present_locked() is null, we'd return without
unlocking the stw_framebuffer.  This fixes that to avoid potential
deadlocks.

Reviewed-by: Charmaine Lee <[email protected]>

---

 src/gallium/state_trackers/wgl/stw_st.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/state_trackers/wgl/stw_st.c 
b/src/gallium/state_trackers/wgl/stw_st.c
index b41171a..2d5d437 100644
--- a/src/gallium/state_trackers/wgl/stw_st.c
+++ b/src/gallium/state_trackers/wgl/stw_st.c
@@ -169,6 +169,9 @@ stw_st_framebuffer_present_locked(HDC hdc,
    if (resource) {
       stw_framebuffer_present_locked(hdc, stwfb->fb, resource);
    }
+   else {
+      stw_framebuffer_release(stwfb->fb);
+   }
 
    return TRUE;
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to