diff options
Diffstat (limited to 'lldb/tools/debugserver/source/PThreadEvent.h')
-rw-r--r-- | lldb/tools/debugserver/source/PThreadEvent.h | 73 |
1 files changed, 39 insertions, 34 deletions
diff --git a/lldb/tools/debugserver/source/PThreadEvent.h b/lldb/tools/debugserver/source/PThreadEvent.h index 46c7cc09b12..fbcd4593352 100644 --- a/lldb/tools/debugserver/source/PThreadEvent.h +++ b/lldb/tools/debugserver/source/PThreadEvent.h @@ -13,47 +13,52 @@ #ifndef __PThreadEvent_h__ #define __PThreadEvent_h__ -#include "PThreadMutex.h" #include "PThreadCondition.h" +#include "PThreadMutex.h" #include <stdint.h> #include <time.h> -class PThreadEvent -{ +class PThreadEvent { public: - PThreadEvent (uint32_t bits = 0, uint32_t validBits = 0); - ~PThreadEvent (); - - uint32_t NewEventBit (); - void FreeEventBits (const uint32_t mask); - - void ReplaceEventBits (const uint32_t bits); - uint32_t GetEventBits () const; - void SetEvents (const uint32_t mask); - void ResetEvents (const uint32_t mask); - // Wait for events to be set or reset. These functions take an optional - // timeout value. If timeout is NULL an infinite timeout will be used. - uint32_t WaitForSetEvents (const uint32_t mask, const struct timespec *timeout_abstime = NULL) const; - uint32_t WaitForEventsToReset(const uint32_t mask, const struct timespec *timeout_abstime = NULL) const; - - uint32_t GetResetAckMask () const { return m_reset_ack_mask; } - uint32_t SetResetAckMask (uint32_t mask) { return m_reset_ack_mask = mask; } - uint32_t WaitForResetAck (const uint32_t mask, const struct timespec *timeout_abstime = NULL) const; + PThreadEvent(uint32_t bits = 0, uint32_t validBits = 0); + ~PThreadEvent(); + + uint32_t NewEventBit(); + void FreeEventBits(const uint32_t mask); + + void ReplaceEventBits(const uint32_t bits); + uint32_t GetEventBits() const; + void SetEvents(const uint32_t mask); + void ResetEvents(const uint32_t mask); + // Wait for events to be set or reset. These functions take an optional + // timeout value. If timeout is NULL an infinite timeout will be used. + uint32_t + WaitForSetEvents(const uint32_t mask, + const struct timespec *timeout_abstime = NULL) const; + uint32_t + WaitForEventsToReset(const uint32_t mask, + const struct timespec *timeout_abstime = NULL) const; + + uint32_t GetResetAckMask() const { return m_reset_ack_mask; } + uint32_t SetResetAckMask(uint32_t mask) { return m_reset_ack_mask = mask; } + uint32_t WaitForResetAck(const uint32_t mask, + const struct timespec *timeout_abstime = NULL) const; + protected: - //---------------------------------------------------------------------- - // pthread condition and mutex variable to control access and allow - // blocking between the main thread and the spotlight index thread. - //---------------------------------------------------------------------- - mutable PThreadMutex m_mutex; - mutable PThreadCondition m_set_condition; - mutable PThreadCondition m_reset_condition; - uint32_t m_bits; - uint32_t m_validBits; - uint32_t m_reset_ack_mask; -private: - PThreadEvent(const PThreadEvent&); // Outlaw copy constructor - PThreadEvent& operator=(const PThreadEvent& rhs); + //---------------------------------------------------------------------- + // pthread condition and mutex variable to control access and allow + // blocking between the main thread and the spotlight index thread. + //---------------------------------------------------------------------- + mutable PThreadMutex m_mutex; + mutable PThreadCondition m_set_condition; + mutable PThreadCondition m_reset_condition; + uint32_t m_bits; + uint32_t m_validBits; + uint32_t m_reset_ack_mask; +private: + PThreadEvent(const PThreadEvent &); // Outlaw copy constructor + PThreadEvent &operator=(const PThreadEvent &rhs); }; #endif // #ifndef __PThreadEvent_h__ |