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>.
1.6.1