ACE  6.4.2
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. More...
int writer_acquired (void)
int reader_acquired (void)
void releasing (void)
 Updates internal database. More...
 ACE_RWLock_Invariants (const ACE_RWLock_Invariants &rhs)
 Copy construction. More...
void operator= (const ACE_RWLock_Invariants &rhs)
 Copy. More...
void dump (void) const
 Dump the state of the class. More...

Private Attributes

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

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)


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_

Number of owning readers.

int ACE_RWLock_Invariants::writers_

Number of owning writers.

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