os: Fix pipe_static_mutex on Windows.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Sun, 6 Mar 2011 09:10:38 +0000 (09:10 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sun, 6 Mar 2011 09:10:38 +0000 (09:10 +0000)
src/gallium/auxiliary/os/os_thread.h

index a084310..8173d4c 100644 (file)
@@ -152,8 +152,9 @@ static INLINE int pipe_thread_destroy( pipe_thread thread )
  */
 typedef CRITICAL_SECTION pipe_mutex;
 
+/* http://locklessinc.com/articles/pthreads_on_windows/ */
 #define pipe_static_mutex(mutex) \
-   /*static*/ pipe_mutex mutex = {0,0,0,0,0,0}
+   static pipe_mutex mutex = {(PCRITICAL_SECTION_DEBUG)-1, -1, 0, 0, 0, 0}
 
 #define pipe_mutex_init(mutex) \
    InitializeCriticalSection(&mutex)