| Index: source/libvpx/vp8/common/threading.h | 
| =================================================================== | 
| --- source/libvpx/vp8/common/threading.h	(revision 96967) | 
| +++ source/libvpx/vp8/common/threading.h	(working copy) | 
| @@ -12,8 +12,6 @@ | 
| #ifndef _PTHREAD_EMULATION | 
| #define _PTHREAD_EMULATION | 
|  | 
| -#define VPXINFINITE 10000       /* 10second. */ | 
| - | 
| #if CONFIG_OS_SUPPORT && CONFIG_MULTITHREAD | 
|  | 
| /* Thread management macros */ | 
| @@ -28,7 +26,7 @@ | 
| #define pthread_t HANDLE | 
| #define pthread_attr_t DWORD | 
| #define pthread_create(thhandle,attr,thfunc,tharg) (int)((*thhandle=(HANDLE)_beginthreadex(NULL,0,(unsigned int (__stdcall *)(void *))thfunc,tharg,0,NULL))==NULL) | 
| -#define pthread_join(thread, result) ((WaitForSingleObject((thread),VPXINFINITE)!=WAIT_OBJECT_0) || !CloseHandle(thread)) | 
| +#define pthread_join(thread, result) ((WaitForSingleObject((thread),INFINITE)!=WAIT_OBJECT_0) || !CloseHandle(thread)) | 
| #define pthread_detach(thread) if(thread!=NULL)CloseHandle(thread) | 
| #define thread_sleep(nms) Sleep(nms) | 
| #define pthread_cancel(thread) terminate_thread(thread,0) | 
| @@ -61,9 +59,9 @@ | 
| #ifdef _WIN32 | 
| #define sem_t HANDLE | 
| #define pause(voidpara) __asm PAUSE | 
| -#define sem_init(sem, sem_attr1, sem_init_value) (int)((*sem = CreateEvent(NULL,FALSE,FALSE,NULL))==NULL) | 
| -#define sem_wait(sem) (int)(WAIT_OBJECT_0 != WaitForSingleObject(*sem,VPXINFINITE)) | 
| -#define sem_post(sem) SetEvent(*sem) | 
| +#define sem_init(sem, sem_attr1, sem_init_value) (int)((*sem = CreateSemaphore(NULL,0,32768,NULL))==NULL) | 
| +#define sem_wait(sem) (int)(WAIT_OBJECT_0 != WaitForSingleObject(*sem,INFINITE)) | 
| +#define sem_post(sem) ReleaseSemaphore(*sem,1,NULL) | 
| #define sem_destroy(sem) if(*sem)((int)(CloseHandle(*sem))==TRUE) | 
| #define thread_sleep(nms) Sleep(nms) | 
|  | 
|  |