| @@ -70,93 +70,6 @@ class JackWinProcessSync : public JackWinMutex | |||
| void LockedSignalAll(); | |||
| }; | |||
| #ifdef __WIN64__ | |||
| class JackWinCondVar { | |||
| CONDITION_VARIABLE fCondVar; | |||
| CRITICAL_SECTION fMutex; | |||
| public: | |||
| JackWinCondVar(const char* name = NULL) | |||
| { | |||
| InitializeCriticalSection(&fMutex); | |||
| InitializeConditionVariable(&fCondVar); | |||
| } | |||
| virtual ~JackWinCondVar() | |||
| { | |||
| DeleteCriticalSection(&fMutex); | |||
| } | |||
| bool TimedWait(long usec) | |||
| { | |||
| return SleepConditionVariableCS(&fCondVar, &fMutex, usec / 1000); | |||
| } | |||
| bool LockedTimedWait(long usec) | |||
| { | |||
| EnterCriticalSection(&fMutex); | |||
| return SleepConditionVariableCS(&fCondVar, &fMutex, usec / 1000); | |||
| } | |||
| void Wait() | |||
| { | |||
| SleepConditionVariableCS(&fCondVar, &fMutex, INFINITE); | |||
| } | |||
| void LockedWait() | |||
| { | |||
| EnterCriticalSection(&fMutex); | |||
| SleepConditionVariableCS(&fCondVar, &fMutex, INFINITE); | |||
| } | |||
| void Signal() | |||
| { | |||
| WakeConditionVariable(&fCondVar); | |||
| } | |||
| void LockedSignal() | |||
| { | |||
| EnterCriticalSection(&fMutex); | |||
| WakeConditionVariable(&fCondVar); | |||
| LeaveCriticalSection(&fMutex); | |||
| } | |||
| void SignalAll() | |||
| { | |||
| WakeAllConditionVariable(&fCondVar); | |||
| } | |||
| void LockedSignalAll() | |||
| { | |||
| EnterCriticalSection(&fMutex); | |||
| WakeAllConditionVariable(&fCondVar); | |||
| LeaveCriticalSection(&fMutex); | |||
| } | |||
| bool Lock() | |||
| { | |||
| EnterCriticalSection(&fMutex); | |||
| return true; | |||
| } | |||
| bool Trylock() | |||
| { | |||
| return (TryEnterCriticalSection(&fMutex)); | |||
| } | |||
| bool Unlock() | |||
| { | |||
| LeaveCriticalSection(&fMutex); | |||
| return true; | |||
| } | |||
| }; | |||
| #endif | |||
| } // end of namespace | |||
| #endif | |||