ACE  6.1.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
ACE_RWLock_Invariants Class Reference

RWLock Invariants. More...

#include <Token_Invariants.h>

Public Member Functions

 ACE_RWLock_Invariants (void)
 Default construction.
 
int writer_acquired (void)
 
int reader_acquired (void)
 
void releasing (void)
 Updates internal database.
 
 ACE_RWLock_Invariants (const ACE_RWLock_Invariants &rhs)
 Copy construction.
 
void operator= (const ACE_RWLock_Invariants &rhs)
 Copy.
 
void dump (void) const
 Dump the state of the class.
 

Private Attributes

int writers_
 Number of owning writers.
 
int readers_
 Number of owning readers.
 

Detailed Description

RWLock Invariants.

Preserve the following invariants:

  1. Only one writer at a time.
  2. If there is an owning writer, there are no owning readers.

Constructor & Destructor Documentation

ACE_RWLock_Invariants::ACE_RWLock_Invariants ( void  )

Default construction.

ACE_RWLock_Invariants::ACE_RWLock_Invariants ( const ACE_RWLock_Invariants rhs)

Copy construction.

Member Function Documentation

void ACE_RWLock_Invariants::dump ( void  ) const

Dump the state of the class.

void ACE_RWLock_Invariants::operator= ( const ACE_RWLock_Invariants rhs)

Copy.

int ACE_RWLock_Invariants::reader_acquired ( void  )

Returns 1 on success, 0 when an invariant has been violated and -1 on error.

void ACE_RWLock_Invariants::releasing ( void  )

Updates internal database.

int ACE_RWLock_Invariants::writer_acquired ( void  )

Returns 1 on success, 0 when an invariant has been violated and -1 on error.

Member Data Documentation

int ACE_RWLock_Invariants::readers_
private

Number of owning readers.

int ACE_RWLock_Invariants::writers_
private

Number of owning writers.


The documentation for this class was generated from the following files: