NAME

ACE_Test_and_Set

SYNOPSIS

#include <ace/Synch_T.h>

template<class ACE_LOCK, class TYPE> class ACE_Test_and_Set : public ACE_Event_Handler { public: ACE_Test_and_Set (TYPE initial_value = 0); TYPE is_set (void) const; TYPE set (TYPE); virtual int handle_signal ( int signum, siginfo_t * = 0, ucontext_t * = 0 ); private: TYPE is_set_; ACE_LOCK lock_; };

TITLE

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

DESCRIPTION

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.
ACE_Test_and_Set (TYPE initial_value = 0);

TYPE is_set (void) const;

TYPE set (TYPE);

virtual int handle_signal (
    int signum,
    siginfo_t * = 0,
    ucontext_t * = 0
    );

AUTHOR

Doug Schmidt

LIBRARY

ace