Reference

ACE_sema_t(3)

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.

NAME

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

SYNOPSIS

#include <ace/OS.h>
class ACE_sema_t
{
  public:
    friend class ACE_OS;
    ACE_thread_mutex_t lock_;
    ACE_event_t count_nonzero_;
    u_int count_;
  protected:
    ACE_mutex_t lock_;
    ACE_cond_t count_nonzero_;
    u_long count_;
    u_long waiters_;
};

PUBLIC MEMBERS

friend class ACE_OS;

ACE_thread_mutex_t lock_;

Serializes access to count_.

ACE_event_t count_nonzero_;

This event is signaled whenever the count becomes non-zero.

u_int count_;

Current count of the semaphore.

PROTECTED MEMBERS

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.

AUTHOR

Doug Schmidt [email protected], Jesper S. M|ller [email protected], and a cast of thousands...

The ACE_Sched_Priority type should be used for platform-

independent thread and process priorities, by convention. int should be used for OS-specific priorities.

typedef for the _stat data structure

Giving unique ACE scoped names for some important

RTSignal-Related constants. Becuase sometimes, different platforms use different names for these constants.

LIBRARY

ace