ACE  6.0.6
Public Member Functions | Private Attributes
ACE_Test_and_Set Class Reference

Implements the classic ``test and set'' operation. More...

#include <Test_and_Set.h>

Inheritance diagram for ACE_Test_and_Set:
Inheritance graph
Collaboration diagram for ACE_Test_and_Set:
Collaboration graph

List of all members.

Public Member Functions

 ACE_Test_and_Set (TYPE initial_value=0)
TYPE is_set (void) const
 Returns true if we are set, else false.
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)

Private Attributes

TYPE is_set_
 Keeps track of our state.
ACE_LOCK lock_
 Protect the state from race conditions.

Detailed Description

Implements the classic ``test and set'' operation.

This class keeps track of the status of <is_set_>, which can be set based on various events (such as receipt of a signal). This class is derived from ACE_Event_Handler so that it can be "signaled" by a Reactor when a signal occurs. We assume that <TYPE> is a data type that can be assigned the value 0 or 1.

Constructor & Destructor Documentation

ACE_Test_and_Set::ACE_Test_and_Set ( TYPE  initial_value = 0)

Member Function Documentation

int ACE_Test_and_Set::handle_signal ( int  signum,
siginfo_t = 0,
ucontext_t = 0 
) [virtual]

Called when object is signaled by OS (either via UNIX signals or when a Win32 object becomes signaled).

Reimplemented from ACE_Event_Handler.

TYPE ACE_Test_and_Set::is_set ( void  ) const

Returns true if we are set, else false.

TYPE ACE_Test_and_Set::set ( TYPE  status)

Sets the <is_set_> status, returning the original value of <is_set_>.

Member Data Documentation

TYPE ACE_Test_and_Set::is_set_ [private]

Keeps track of our state.

ACE_LOCK ACE_Test_and_Set::lock_ [private]

Protect the state from race conditions.

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines