#include <Event.h>
Inheritance diagram for ACE_Event:
Public Methods | |
ACE_Event (int manual_reset=0, int initial_state=0, int type=USYNC_THREAD, const ACE_TCHAR *name=0, void *arg=0) | |
Constructor that creates event. | |
~ACE_Event (void) | |
Implicitly destroy the event variable. | |
int | remove (void) |
ACE_event_t | handle (void) const |
Underlying handle to event. | |
void | handle (ACE_event_t new_handle) |
int | wait (void) |
int | wait (const ACE_Time_Value *abstime, int use_absolute_time=1) |
int | signal (void) |
int | pulse (void) |
int | reset (void) |
Set to nonsignaled state. | |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Protected Attributes | |
ACE_event_t | handle_ |
The underlying handle. | |
int | removed_ |
Private Methods | |
ACE_Event (const ACE_Event &event) | |
const ACE_Event & | operator= (const ACE_Event &rhs) |
Portable implementation of an Event mechanism, which is native to Win32, but must be emulated on UNIX. All platforms support process-scope locking support. However, only Win32 platforms support global naming and system-scope locking support.
|
Constructor that creates event.
|
|
Implicitly destroy the event variable.
|
|
|
|
Dump the state of an object.
Reimplemented in ACE_Auto_Event, and ACE_Manual_Event. |
|
Set the underlying handle to event. Note that this method assumes ownership of the <handle> and will close it down in <remove>. If you want the <handle> to stay open when <remove> is called make sure to call <dup> on the <handle> before closing it. You are responsible for the closing the existing <handle> before overwriting it. |
|
Underlying handle to event.
|
|
|
|
if MANUAL reset wakeup all waiting threads and reset event else AUTO reset wakeup one waiting thread (if present) and reset event |
|
Explicitly destroy the event variable. Note that only one thread should call this method since it doesn't protect against race conditions. |
|
Set to nonsignaled state.
|
|
if MANUAL reset wake up all waiting threads set to signaled state else AUTO reset if no thread is waiting, set to signaled state if thread(s) are waiting, wake up one waiting thread and reset event |
|
Same as wait() above, but this one can be timed <abstime> is absolute time-of-day if if <use_absolute_time> is non-0, else it is relative time. |
|
if MANUAL reset sleep till the event becomes signaled event remains signaled after wait() completes. else AUTO reset sleep till the event becomes signaled event resets wait() completes. |
|
Declare the dynamic allocation hooks.
Reimplemented in ACE_Auto_Event, and ACE_Manual_Event. |
|
The underlying handle.
|
|
Keeps track of whether <remove> has been called yet to avoid multiple <remove> calls, e.g., explicitly and implicitly in the destructor. This flag isn't protected by a lock, so make sure that you don't have multiple threads simultaneously calling <remove> on the same object, which is a bad idea anyway... |