Wrapper for Dijkstra style general semaphores that work across processes.
More...
#include <Process_Semaphore.h>
Wrapper for Dijkstra style general semaphores that work across processes.
ACE_Process_Semaphore::ACE_Process_Semaphore |
( |
u_int |
count = 1 , |
|
|
const ACE_TCHAR * |
name = 0 , |
|
|
void * |
arg = 0 , |
|
|
int |
max = 0x7FFFFFFF |
|
) |
| |
Initialize the semaphore, with an initial value of count and a maximum value of max.
int ACE_Process_Semaphore::acquire |
( |
void |
| ) |
|
Block the thread until the semaphore count becomes greater than 0, then decrement it.
int ACE_Process_Semaphore::acquire_read |
( |
void |
| ) |
|
|
inline |
Acquire semaphore ownership. This calls acquire() and is only here to make the ACE_Process_Semaphore interface consistent with the other synchronization APIs.
int ACE_Process_Semaphore::acquire_write |
( |
void |
| ) |
|
|
inline |
Acquire semaphore ownership. This calls acquire() and is only here to make the ACE_Process_Semaphore interface consistent with the other synchronization APIs.
void ACE_Process_Semaphore::dump |
( |
void |
| ) |
const |
Dump the state of an object.
const ACE_sema_t & ACE_Process_Semaphore::lock |
( |
void |
| ) |
const |
|
inline |
Return the underlying lock.
int ACE_Process_Semaphore::release |
( |
void |
| ) |
|
Increment the semaphore, potentially unblocking a waiting thread.
int ACE_Process_Semaphore::remove |
( |
void |
| ) |
|
Explicitly destroy the semaphore. Note that only one thread should call this method since it doesn't protect against race conditions.
int ACE_Process_Semaphore::tryacquire |
( |
void |
| ) |
|
Conditionally decrement the semaphore if count is greater than 0 (i.e., won't block). Returns -1 on failure. If we "failed" because someone else already had the lock, errno
is set to EBUSY
.
int ACE_Process_Semaphore::tryacquire_read |
( |
void |
| ) |
|
|
inline |
Conditionally acquire semaphore (i.e., won't block). This calls tryacquire() and is only here to make the ACE_Process_Semaphore interface consistent with the other synchronization APIs. Returns -1 on failure. If we "failed" because someone else already had the lock, errno
is set to EBUSY
.
int ACE_Process_Semaphore::tryacquire_write |
( |
void |
| ) |
|
|
inline |
Conditionally acquire semaphore (i.e., won't block). This calls tryacquire() and is only here to make the ACE_Process_Semaphore interface consistent with the other synchronization APIs. Returns -1 on failure. If we "failed" because someone else already had the lock, errno
is set to EBUSY
.
int ACE_Process_Semaphore::tryacquire_write_upgrade |
( |
void |
| ) |
|
|
inline |
This is only here to make the ACE_Process_Semaphore interface consistent with the other synchronization APIs. Assumes the caller has already acquired the semaphore using one of the above calls, and returns 0 (success) always.
ACE_Process_Semaphore::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
The documentation for this class was generated from the following files: