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"