ACE  6.3.3
Classes | Namespaces | Macros | Typedefs | Functions
OS_NS_Thread.h File Reference
#include "ace/config-all.h"
#include "ace/Global_Macros.h"
#include "ace/Basic_Types.h"
#include "ace/Default_Constants.h"
#include "ace/os_include/os_pthread.h"
#include "ace/os_include/os_sched.h"
#include "ace/Base_Thread_Adapter.h"
#include "ace/os_include/sys/os_sem.h"
#include "ace/os_include/os_semaphore.h"
#include "ace/OS_Memory.h"
#include "ace/OS_NS_signal.h"
#include "ace/ACE_export.h"
#include "ace/Object_Manager_Base.h"

Classes

class  ACE_recursive_thread_mutex_t
 Implement a thin C++ wrapper that allows nested acquisition and release of a mutex that occurs in the same thread. More...
 
struct  ACE_recursive_mutex_state
 
class  ACE_Thread_ID
 Defines a platform-independent thread ID class. Note that this class should be defined within the scope of a thread, rather than at global scope! More...
 
class  ACE_TSS_Ref
 "Reference count" for thread-specific storage keys. More...
 
class  ACE_TSS_Info
 Thread Specific Key management. More...
 
class  ACE_TSS_Keys
 Collection of in-use flags for a thread's TSS keys. For internal use only by ACE_TSS_Cleanup; it is public because some compilers can't use nested classes for template instantiation parameters. More...
 

Namespaces

 ACE_OS
 This namespace defines an OS independent programming API that shields developers from nonportable aspects of writing efficient system programs on Win32, POSIX and other versions of UNIX, and various real-time operating systems.
 

Macros

#define ACE_EXPORT_MACRO   ACE_Export
 
#define ACE_SCOPE_PROCESS   0
 
#define ACE_SCOPE_LWP   1
 
#define ACE_SCOPE_THREAD   2
 
#define ACE_SCHED_OTHER   0
 
#define ACE_SCHED_FIFO   1
 
#define ACE_SCHED_RR   2
 
#define ACE_THR_PRI_FIFO_DEF   0
 
#define ACE_THR_PRI_OTHER_DEF   0
 
#define ACE_DEFAULT_SYNCH_TYPE   USYNC_THREAD
 
#define ACE_SELF   (0)
 
#define ACE_PTHREAD_CLEANUP_PUSH(A)
 
#define ACE_PTHREAD_CLEANUP_POP(A)
 
#define ACE_OS_GUARD
 
#define ACE_TSS_CLEANUP_GUARD
 
#define ACE_TSS_BASE_GUARD
 

Typedefs

typedef DWORD ACE_thread_t
 
typedef HANDLE ACE_hthread_t
 
typedef DWORD ACE_OS_thread_key_t
 
typedef ACE_OS_thread_key_t ACE_thread_key_t
 
typedef int ACE_Sched_Priority
 
typedef int ACE_idtype_t
 
typedef DWORD ACE_id_t
 
typedef int ACE_pri_t
 

Functions

void ACE_OS::cleanup_tss (const u_int main_thread)
 
int ACE_OS::lwp_getparams (ACE_Sched_Params &)
 
int ACE_OS::lwp_setparams (const ACE_Sched_Params &)
 
long ACE_OS::priority_control (ACE_idtype_t, ACE_id_t, int, void *)
 Low-level interface to priocntl(2). More...
 
int ACE_OS::scheduling_class (const char *class_name, ACE_id_t &)
 Find the scheduling class ID that corresponds to the class name. More...
 
int ACE_OS::set_scheduling_params (const ACE_Sched_Params &, ACE_id_t id=ACE_SELF)
 Friendly interface to priocntl(2). More...
 
int ACE_OS::sigtimedwait (const sigset_t *set, siginfo_t *info, const ACE_Time_Value *timeout)
 
int ACE_OS::sigwait (sigset_t *set, int *sig=0)
 
int ACE_OS::sigwaitinfo (const sigset_t *set, siginfo_t *info)
 
int ACE_OS::thr_cancel (ACE_thread_t t_id)
 
int ACE_OS::thr_cmp (ACE_hthread_t t1, ACE_hthread_t t2)
 
int ACE_OS::thr_continue (ACE_hthread_t target_thread)
 
int ACE_OS::thr_create (ACE_THR_FUNC func, void *args, long flags, ACE_thread_t *thr_id, ACE_hthread_t *t_handle=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, void *stack=0, size_t stacksize=ACE_DEFAULT_THREAD_STACKSIZE, ACE_Base_Thread_Adapter *thread_adapter=0, const char **thr_name=0)
 
int ACE_OS::thr_equal (ACE_thread_t t1, ACE_thread_t t2)
 
void ACE_OS::thr_exit (ACE_THR_FUNC_RETURN status=0)
 
int ACE_OS::thr_getconcurrency (void)
 
int ACE_OS::thr_getprio (ACE_hthread_t id, int &priority)
 
int ACE_OS::thr_getprio (ACE_hthread_t id, int &priority, int &policy)
 
int ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data)
 
int ACE_OS::thr_join (ACE_hthread_t waiter_id, ACE_THR_FUNC_RETURN *status)
 
int ACE_OS::thr_join (ACE_thread_t waiter_id, ACE_thread_t *thr_id, ACE_THR_FUNC_RETURN *status)
 
int ACE_OS::thr_get_affinity (ACE_hthread_t thr_id, size_t cpu_set_size, cpu_set_t *cpu_mask)
 
int ACE_OS::thr_set_affinity (ACE_hthread_t thr_id, size_t cpu_set_size, const cpu_set_t *cpu_mask)
 
int ACE_OS::thr_key_detach (ACE_thread_key_t key)
 
int ACE_OS::thr_key_used (ACE_thread_key_t key)
 
int ACE_OS::thr_keycreate (ACE_thread_key_t *key, ACE_THR_DEST)
 
int ACE_OS::thr_keyfree (ACE_thread_key_t key)
 
int ACE_OS::thr_kill (ACE_thread_t thr_id, int signum)
 
size_t ACE_OS::thr_min_stack (void)
 
ACE_thread_t ACE_OS::thr_self (void)
 
void ACE_OS::thr_self (ACE_hthread_t &)
 
const char * ACE_OS::thr_name (void)
 
ssize_t ACE_OS::thr_id (char buffer[], size_t buffer_length)
 
int ACE_OS::thr_setcancelstate (int new_state, int *old_state)
 State is THR_CANCEL_ENABLE or THR_CANCEL_DISABLE. More...
 
int ACE_OS::thr_setcanceltype (int new_type, int *old_type)
 Type is THR_CANCEL_DEFERRED or THR_CANCEL_ASYNCHRONOUS. More...
 
int ACE_OS::thr_setconcurrency (int hint)
 
int ACE_OS::thr_setprio (ACE_hthread_t ht_id, int priority, int policy=-1)
 
int ACE_OS::thr_setprio (const ACE_Sched_Priority prio)
 
int ACE_OS::thr_setspecific (ACE_thread_key_t key, void *data)
 
int ACE_OS::thr_sigsetmask (int how, const sigset_t *nsm, sigset_t *osm)
 
int ACE_OS::thr_suspend (ACE_hthread_t target_thread)
 
void ACE_OS::thr_testcancel (void)
 
void ACE_OS::thr_yield (void)
 
void ACE_OS::unique_name (const void *object, char *name, size_t length)
 
int ACE_OS::condattr_init (ACE_condattr_t &attributes, int type=ACE_DEFAULT_SYNCH_TYPE)
 
int ACE_OS::condattr_synctype (ACE_condattr_t &attributes, int &type)
 
int ACE_OS::condattr_destroy (ACE_condattr_t &attributes)
 
int ACE_OS::condattr_setclock (ACE_condattr_t &attributes, clockid_t clock_id)
 
int ACE_OS::cond_broadcast (ACE_cond_t *cv)
 
int ACE_OS::cond_destroy (ACE_cond_t *cv)
 
int ACE_OS::cond_init (ACE_cond_t *cv, short type=ACE_DEFAULT_SYNCH_TYPE, const char *name=0, void *arg=0)
 
int ACE_OS::cond_init (ACE_cond_t *cv, ACE_condattr_t &attributes, const char *name=0, void *arg=0)
 
int ACE_OS::cond_init (ACE_cond_t *cv, short type, const wchar_t *name, void *arg=0)
 
int ACE_OS::cond_init (ACE_cond_t *cv, ACE_condattr_t &attributes, const wchar_t *name, void *arg=0)
 
int ACE_OS::cond_signal (ACE_cond_t *cv)
 
int ACE_OS::cond_timedwait (ACE_cond_t *cv, ACE_mutex_t *m, ACE_Time_Value *timeout)
 
int ACE_OS::cond_wait (ACE_cond_t *cv, ACE_mutex_t *m)
 
int ACE_OS::event_destroy (ACE_event_t *event)
 
int ACE_OS::event_init (ACE_event_t *event, int manual_reset=0, int initial_state=0, int type=ACE_DEFAULT_SYNCH_TYPE, const char *name=0, void *arg=0, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::event_init (ACE_event_t *event, int type, ACE_condattr_t *attributes, int manual_reset=0, int initial_state=0, const char *name=0, void *arg=0, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::event_init (ACE_event_t *event, int manual_reset, int initial_state, int type, const wchar_t *name, void *arg=0, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::event_init (ACE_event_t *event, int type, ACE_condattr_t *attributes, int manual_reset, int initial_state, const wchar_t *name, void *arg=0, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::event_pulse (ACE_event_t *event)
 
int ACE_OS::event_reset (ACE_event_t *event)
 
int ACE_OS::event_signal (ACE_event_t *event)
 
int ACE_OS::event_timedwait (ACE_event_t *event, ACE_Time_Value *timeout, int use_absolute_time=1)
 
int ACE_OS::event_wait (ACE_event_t *event)
 
int ACE_OS::mutex_destroy (ACE_mutex_t *m)
 
int ACE_OS::mutex_init (ACE_mutex_t *m, int lock_scope=ACE_DEFAULT_SYNCH_TYPE, const char *name=0, ACE_mutexattr_t *arg=0, LPSECURITY_ATTRIBUTES sa=0, int lock_type=0)
 
int ACE_OS::mutex_init (ACE_mutex_t *m, int lock_scope, const wchar_t *name, ACE_mutexattr_t *arg=0, LPSECURITY_ATTRIBUTES sa=0, int lock_type=0)
 
int ACE_OS::mutex_lock (ACE_mutex_t *m)
 
int ACE_OS::mutex_lock (ACE_mutex_t *m, int &abandoned)
 
int ACE_OS::mutex_lock (ACE_mutex_t *m, const ACE_Time_Value &timeout)
 
int ACE_OS::mutex_lock (ACE_mutex_t *m, const ACE_Time_Value *timeout)
 
void ACE_OS::mutex_lock_cleanup (void *mutex)
 Handle asynchronous thread cancellation cleanup. More...
 
int ACE_OS::mutex_trylock (ACE_mutex_t *m)
 
int ACE_OS::mutex_trylock (ACE_mutex_t *m, int &abandoned)
 
int ACE_OS::mutex_unlock (ACE_mutex_t *m)
 
int ACE_OS::recursive_mutex_cond_unlock (ACE_recursive_thread_mutex_t *m, ACE_recursive_mutex_state &state)
 
void ACE_OS::recursive_mutex_cond_relock (ACE_recursive_thread_mutex_t *m, ACE_recursive_mutex_state &state)
 
int ACE_OS::recursive_mutex_destroy (ACE_recursive_thread_mutex_t *m)
 
int ACE_OS::recursive_mutex_init (ACE_recursive_thread_mutex_t *m, const ACE_TCHAR *name=0, ACE_mutexattr_t *arg=0, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m)
 
int ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m, const ACE_Time_Value &timeout)
 
int ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m, const ACE_Time_Value *timeout)
 
int ACE_OS::recursive_mutex_trylock (ACE_recursive_thread_mutex_t *m)
 
int ACE_OS::recursive_mutex_unlock (ACE_recursive_thread_mutex_t *m)
 
int ACE_OS::rw_rdlock (ACE_rwlock_t *rw)
 
int ACE_OS::rw_tryrdlock (ACE_rwlock_t *rw)
 
int ACE_OS::rw_trywrlock (ACE_rwlock_t *rw)
 
int ACE_OS::rw_trywrlock_upgrade (ACE_rwlock_t *rw)
 
int ACE_OS::rw_unlock (ACE_rwlock_t *rw)
 
int ACE_OS::rw_wrlock (ACE_rwlock_t *rw)
 
int ACE_OS::rwlock_destroy (ACE_rwlock_t *rw)
 
int ACE_OS::rwlock_init (ACE_rwlock_t *rw, int type=ACE_DEFAULT_SYNCH_TYPE, const ACE_TCHAR *name=0, void *arg=0)
 
int ACE_OS::sched_params (const ACE_Sched_Params &, ACE_id_t id=ACE_SELF)
 
int ACE_OS::sema_destroy (ACE_sema_t *s)
 
int ACE_OS::sema_init (ACE_sema_t *s, u_int count, int type=ACE_DEFAULT_SYNCH_TYPE, const char *name=0, void *arg=0, int max=0x7fffffff, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::sema_init (ACE_sema_t *s, u_int count, int type, ACE_condattr_t *attributes, const char *name=0, void *arg=0, int max=0x7fffffff, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::sema_init (ACE_sema_t *s, u_int count, int type, const wchar_t *name, void *arg=0, int max=0x7fffffff, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::sema_init (ACE_sema_t *s, u_int count, int type, ACE_condattr_t *attributes, const wchar_t *name, void *arg=0, int max=0x7fffffff, LPSECURITY_ATTRIBUTES sa=0)
 
int ACE_OS::sema_post (ACE_sema_t *s)
 
int ACE_OS::sema_post (ACE_sema_t *s, u_int release_count)
 
int ACE_OS::sema_trywait (ACE_sema_t *s)
 
int ACE_OS::sema_wait (ACE_sema_t *s)
 
int ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv)
 
int ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value *tv)
 
int ACE_OS::semctl (int int_id, int semnum, int cmd, semun)
 
int ACE_OS::semget (key_t key, int nsems, int flags)
 
int ACE_OS::semop (int int_id, struct sembuf *sops, size_t nsops)
 
int ACE_OS::thread_mutex_destroy (ACE_thread_mutex_t *m)
 
int ACE_OS::thread_mutex_init (ACE_thread_mutex_t *m, int lock_type=0, const char *name=0, ACE_mutexattr_t *arg=0)
 
int ACE_OS::thread_mutex_init (ACE_thread_mutex_t *m, int lock_type, const wchar_t *name, ACE_mutexattr_t *arg=0)
 
int ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m)
 
int ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m, const ACE_Time_Value &timeout)
 
int ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m, const ACE_Time_Value *timeout)
 
int ACE_OS::thread_mutex_trylock (ACE_thread_mutex_t *m)
 
int ACE_OS::thread_mutex_unlock (ACE_thread_mutex_t *m)
 

Variables

ACE_thread_t ACE_OS::NULL_thread
 
ACE_hthread_t ACE_OS::NULL_hthread
 
ACE_thread_key_t ACE_OS::NULL_key
 

Detailed Description

Author
Douglas C. Schmidt schmi.nosp@m.dt@c.nosp@m.s.wus.nosp@m.tl.e.nosp@m.du
Jesper S. M|llerstoph.nosp@m.ph@d.nosp@m.iku.d.nosp@m.k
and a cast of thousands...

Originally in OS.h.

Macro Definition Documentation

#define ACE_DEFAULT_SYNCH_TYPE   USYNC_THREAD
#define ACE_EXPORT_MACRO   ACE_Export
#define ACE_OS_GUARD
#define ACE_PTHREAD_CLEANUP_POP (   A)
#define ACE_PTHREAD_CLEANUP_PUSH (   A)
#define ACE_SCHED_FIFO   1
#define ACE_SCHED_OTHER   0
#define ACE_SCHED_RR   2
#define ACE_SCOPE_LWP   1
#define ACE_SCOPE_PROCESS   0
#define ACE_SCOPE_THREAD   2
#define ACE_SELF   (0)
#define ACE_THR_PRI_FIFO_DEF   0
#define ACE_THR_PRI_OTHER_DEF   0
#define ACE_TSS_BASE_GUARD
#define ACE_TSS_CLEANUP_GUARD

Typedef Documentation

typedef HANDLE ACE_hthread_t
typedef DWORD ACE_id_t
typedef int ACE_idtype_t
typedef DWORD ACE_OS_thread_key_t
typedef int ACE_pri_t
typedef int ACE_Sched_Priority
typedef DWORD ACE_thread_t