ref: 31a31272cd171c5ce3d886b090037b2118e72189
parent: 0091fef7a2ee5f5519e1675a9a961234cc3b6f8b
parent: ba7ebbb35cc00edb71ae1de7c035e31a1fd11401
author: James Zern <jzern@google.com>
date: Tue Feb 9 21:40:12 EST 2016
Merge "vp8: fix build with mingw+pthreads"
--- a/vp8/common/threading.h
+++ b/vp8/common/threading.h
@@ -12,6 +12,7 @@
#ifndef VP8_COMMON_THREADING_H_
#define VP8_COMMON_THREADING_H_
+#include "./vpx_config.h"
#ifdef __cplusplus
extern "C" {
@@ -20,7 +21,7 @@
#if CONFIG_OS_SUPPORT && CONFIG_MULTITHREAD
/* Thread management macros */
-#ifdef _WIN32
+#if defined(_WIN32) && !HAVE_PTHREAD_H
/* Win32 */
#include <process.h>
#include <windows.h>
@@ -77,8 +78,8 @@
#define ts_key_create(ts_key, destructor) pthread_key_create (&(ts_key), destructor);
#endif
-/* Syncrhronization macros: Win32 and Pthreads */
-#ifdef _WIN32
+/* Synchronization macros: Win32 and Pthreads */
+#if defined(_WIN32) && !HAVE_PTHREAD_H
#define sem_t HANDLE
#define pause(voidpara) __asm PAUSE
#define sem_init(sem, sem_attr1, sem_init_value) (int)((*sem = CreateSemaphore(NULL,0,32768,NULL))==NULL)