#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_;
};
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);
is_set_
status, returning the original value of
is_set_
.
virtual int handle_signal (
int signum,
siginfo_t * = 0,
ucontext_t * = 0
);