Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

PrivateConditionalContext Struct Reference

Collaboration diagram for PrivateConditionalContext:

Collaboration graph
[legend]
List of all members.

Public Methods

 PrivateConditionalContext (PrivateMutexContext *i_private_mutex)
void Post (int i_count)
void Post ()
void PostAll ()
void Wait ()
bool Wait (const TimeInterval &i_time)
bool Wait (const TimeStamp &i_time)
bool Wait (DWORD i_val)
bool WakeConditional ()

Public Attributes

SpinLock m_cond_spin_lock
PrivateMutexContextm_private_mutex
PrivateConditionalContext * m_next_pcc
bool m_in_list
HANDLE m_wait_semaphore
int m_waiter_count
int m_wake_count
int m_lock_transfer

Constructor & Destructor Documentation

PrivateConditionalContext::PrivateConditionalContext PrivateMutexContext   i_private_mutex [inline]
 

Constructor


Member Function Documentation

void PrivateConditionalContext::Post   [inline]
 

Post will notify one thread (if one is waiting)

void PrivateConditionalContext::Post int    i_count [inline]
 

Post will notify one thread (if one is waiting)

void PrivateConditionalContext::PostAll   [inline]
 

Post a notification to akk waiting threads.

bool PrivateConditionalContext::Wait DWORD    i_val [inline]
 

Wait will wait until another thread "notifies" (the thread calling Wait()). This may also time-out, however, the lock will be re-attained when Wait returns.

Returns:
true if the condition was signalled, false if it timed out

bool PrivateConditionalContext::Wait const TimeStamp &    i_time [inline]
 

Wait will wait until another thread "notifies" (the thread calling Wait()).

Returns:
true if the condition was signalled, false if it timed out

bool PrivateConditionalContext::Wait const TimeInterval &    i_time [inline]
 

Wait will wait until another thread "notifies" (the thread calling Wait()).

Returns:
true if the condition was signalled, false if it timed out

void PrivateConditionalContext::Wait   [inline]
 

Wait will wait until another thread "notifies" this thread (the thread calling Wait()).

Returns:
nothing

bool PrivateConditionalContext::WakeConditional   [inline]
 

WakeConditional is called from the unlock routine of the m_private_mutex this is associated with.

Returns:
nothing


Member Data Documentation

SpinLock PrivateConditionalContext::m_cond_spin_lock
 

m_cond_spin_lock is required here because the PrivateConditionalContext may be accessed by a thread waking up from a conditional variable timed wait.

bool PrivateConditionalContext::m_in_list
 

int PrivateConditionalContext::m_lock_transfer
 

m_lock_transfer indicates that the main lock is being transferred to the thread that wakes up on this ConditionalContext.

PrivateConditionalContext* PrivateConditionalContext::m_next_pcc
 

m_next_pcc is the nect conditional context associated with the mutex

PrivateMutexContext* PrivateConditionalContext::m_private_mutex
 

m_private_mutex is a link to the mutex associated with this context.

HANDLE PrivateConditionalContext::m_wait_semaphore
 

This semaphore holds all waiting objects

int PrivateConditionalContext::m_waiter_count
 

Number of threads that are currently waiting

int PrivateConditionalContext::m_wake_count
 

The count to wake-up the lock holder


The documentation for this struct was generated from the following file:

Generated for Austria by doxygen and MakeXS at Sun Oct 24 17:35:34 PDT 2004