#include <Test_and_Set.h>
Inheritance diagram for ACE_Test_and_Set< ACE_LOCK, TYPE >:


| Public Member Functions | |
| ACE_Test_and_Set (TYPE initial_value=0) | |
| TYPE | is_set (void) const | 
| Returns true if we are set, else false. | |
| TYPE | set (TYPE) | 
| 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. | |
This class keeps track of the status of , 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 is a data type that can be assigned the value 0 or 1.
Definition at line 38 of file Test_and_Set.h.
| 
 | ||||||||||
| 
 Definition at line 16 of file Test_and_Set.cpp. 
 00017 : is_set_ (initial_value) 00018 { 00019 } | 
| 
 | ||||||||||||||||||||
| Called when object is signaled by OS (either via UNIX signals or when a Win32 object becomes signaled). Reimplemented from ACE_Event_Handler. Definition at line 40 of file Test_and_Set.cpp. References ACE_Test_and_Set< ACE_LOCK, TYPE >::set(), and ucontext_t. 
 00041 {
00042   // By setting this to 1, we are "signaling" to anyone calling
00043   // <is_set> or or <set> that the "test and set" object is in the
00044   // "signaled" state, i.e., it's "available" to be set back to 0.
00045   this->set (1);
00046   return 0;
00047 }
 | 
| 
 | ||||||||||
| Returns true if we are set, else false. 
 Definition at line 23 of file Test_and_Set.cpp. References ACE_GUARD_RETURN. 
 00024 {
00025   ACE_GUARD_RETURN (ACE_LOCK, ace_mon, (ACE_LOCK &) this->lock_, this->is_set_);
00026   return this->is_set_;
00027 }
 | 
| 
 | ||||||||||
| Sets the status, returning the original value of . Definition at line 31 of file Test_and_Set.cpp. References ACE_GUARD_RETURN. Referenced by ACE_Test_and_Set< ACE_LOCK, TYPE >::handle_signal(). 
 00032 {
00033   ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, this->is_set_);
00034   TYPE o_status = this->is_set_;
00035   this->is_set_ = status;
00036   return o_status;
00037 }
 | 
| 
 | |||||
| Keeps track of our state. 
 Definition at line 58 of file Test_and_Set.h. | 
| 
 | |||||
| Protect the state from race conditions. 
 Definition at line 61 of file Test_and_Set.h. | 
 1.3.6
 
1.3.6