This is used to implement semaphores for platforms that support POSIX pthreads, but do *not* support POSIX semaphores, i.e., it's a different type than the POSIX <sem_t>. More...
#include <os_pthread.h>
Public Attributes | |
ACE_mutex_t | lock_ |
Serialize access to internal state. | |
ACE_cond_t | count_nonzero_ |
Block until there are no waiters. | |
u_long | count_ |
Count of the semaphore. | |
u_long | waiters_ |
Number of threads that have called <ACE_OS::sema_wait>. | |
sem_t * | sema_ |
char * | name_ |
bool | new_sema_ |
This is used to implement semaphores for platforms that support POSIX pthreads, but do *not* support POSIX semaphores, i.e., it's a different type than the POSIX <sem_t>.
u_long ACE_sema_t::count_ |
Count of the semaphore.
Block until there are no waiters.
Serialize access to internal state.
char* ACE_sema_t::name_ |
Name of the semaphore (if this is non-NULL then this is a named POSIX semaphore, else its an unnamed POSIX semaphore).
this->sema_ doesn't always get created dynamically if a platform doesn't support named posix semaphores. We use this flag to remember if we need to delete <sema_> or not.
sem_t* ACE_sema_t::sema_ |
Pointer to semaphore handle. This is allocated by ACE if we are working with an unnamed POSIX semaphore or by the OS if we are working with a named POSIX semaphore.
u_long ACE_sema_t::waiters_ |
Number of threads that have called <ACE_OS::sema_wait>.