15 #ifndef CONDITIONVARFULLWIN32IMPL_H
16 #define CONDITIONVARFULLWIN32IMPL_H
18 #include "pandabase.h"
19 #include "selectThreadImpl.h"
23 #include "mutexWin32Impl.h"
25 #include "atomicAdjust.h"
48 class EXPCL_PANDA_PIPELINE ConditionVarFullWin32Impl {
50 INLINE ConditionVarFullWin32Impl(MutexWin32Impl &mutex);
51 INLINE ~ConditionVarFullWin32Impl();
54 INLINE
void wait(
double timeout);
56 INLINE
void notify_all();
59 CRITICAL_SECTION *_external_mutex;
61 HANDLE _event_broadcast;
62 TVOLATILE AtomicAdjust::Integer _waiters_count;
65 #include "conditionVarFullWin32Impl.I"