xbmc
|
CEventGroup is a means of grouping CEvents to wait on them together. More...
#include <Event.h>
Public Member Functions | |
CEventGroup (std::initializer_list< CEvent *> events) | |
Create a CEventGroup from a number of CEvents. | |
CEvent * | wait () |
This will block until any one of the CEvents in the group are signaled at which point a pointer to that CEvents will be returned. | |
template<typename Rep , typename Period > | |
CEvent * | wait (std::chrono::duration< Rep, Period > duration) |
locking is ALWAYS done in this order: CEvent::groupListMutex -> CEventGroup::mutex -> CEvent::mutex More... | |
int | getNumWaits () |
This is mostly for testing. More... | |
Friends | |
class | ::CEvent |
CEventGroup is a means of grouping CEvents to wait on them together.
It is equivalent to WaitOnMultipleObject that returns when "any" Event in the group signaled.
|
inline |
This is mostly for testing.
It allows a thread to make sure there are the right amount of other threads waiting.
|
inline |
locking is ALWAYS done in this order: CEvent::groupListMutex -> CEventGroup::mutex -> CEvent::mutex
Notice that this method doesn't grab the CEvent::groupListMutex at all. This is fine. It just grabs the CEventGroup::mutex and THEN the individual