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"
#include "ace/OS_NS_Thread.inl"

Include dependency graph for OS_NS_Thread.h:

This graph shows which files directly or indirectly include this file:


Namespaces

namespace  ACE_OS

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...
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::condattr_init (ACE_condattr_t &attributes, int type=ACE_DEFAULT_SYNCH_TYPE)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::condattr_destroy (ACE_condattr_t &attributes)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_broadcast (ACE_cond_t *cv)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_destroy (ACE_cond_t *cv)
int ACE_OS::cond_init (ACE_cond_t *cv, short type, const char *name, void *arg)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_init (ACE_cond_t *cv, ACE_condattr_t &attributes, const char *name=0, void *arg=0)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_init (ACE_cond_t *cv, short type, const wchar_t *name, void *arg=0)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_init (ACE_cond_t *cv, ACE_condattr_t &attributes, const wchar_t *name, void *arg=0)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_signal (ACE_cond_t *cv)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::cond_timedwait (ACE_cond_t *cv, ACE_mutex_t *m, ACE_Time_Value *)
ACE_NAMESPACE_INLINE_FUNCTION
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, int initial_state, int type, const char *name, void *arg, LPSECURITY_ATTRIBUTES sa)
ACE_NAMESPACE_INLINE_FUNCTION
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_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)
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, const char *name, ACE_mutexattr_t *attributes, LPSECURITY_ATTRIBUTES sa, int lock_type)
int ACE_OS::mutex_init (ACE_mutex_t *m, int lock_scope, const wchar_t *name, ACE_mutexattr_t *attributes, LPSECURITY_ATTRIBUTES sa, int lock_type)
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)
ACE_NAMESPACE_INLINE_FUNCTION
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.
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)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::recursive_mutex_cond_unlock (ACE_recursive_thread_mutex_t *m, ACE_recursive_mutex_state &state)
ACE_NAMESPACE_INLINE_FUNCTION
void 
ACE_OS::recursive_mutex_cond_relock (ACE_recursive_thread_mutex_t *m, ACE_recursive_mutex_state &state)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::recursive_mutex_destroy (ACE_recursive_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
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)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::recursive_mutex_trylock (ACE_recursive_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::recursive_mutex_unlock (ACE_recursive_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rw_rdlock (ACE_rwlock_t *rw)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rw_tryrdlock (ACE_rwlock_t *rw)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rw_trywrlock (ACE_rwlock_t *rw)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rw_trywrlock_upgrade (ACE_rwlock_t *rw)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rw_unlock (ACE_rwlock_t *rw)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rw_wrlock (ACE_rwlock_t *rw)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::rwlock_destroy (ACE_rwlock_t *rw)
ACE_Export 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 &sched_params, ACE_id_t id)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_destroy (ACE_sema_t *s)
ACE_NAMESPACE_INLINE_FUNCTION
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)
ACE_NAMESPACE_INLINE_FUNCTION
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)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_post (ACE_sema_t *s)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_post (ACE_sema_t *s, u_int release_count)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_trywait (ACE_sema_t *s)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_wait (ACE_sema_t *s)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value *tv)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::semctl (int int_id, int semnum, int cmd, semun)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::semget (key_t key, int nsems, int flags)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::semop (int int_id, struct sembuf *sops, size_t nsops)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_destroy (ACE_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_init (ACE_thread_mutex_t *m, int lock_type=0, const char *name=0, ACE_mutexattr_t *arg=0)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_init (ACE_thread_mutex_t *m, int lock_type, const wchar_t *name, ACE_mutexattr_t *arg=0)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m, const ACE_Time_Value &timeout)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m, const ACE_Time_Value *timeout)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_trylock (ACE_thread_mutex_t *m)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thread_mutex_unlock (ACE_thread_mutex_t *m)
ACE_Export ACE_thread_t ACE_OS::NULL_thread
ACE_Export ACE_hthread_t ACE_OS::NULL_hthread
ACE_Export ACE_thread_key_t ACE_OS::NULL_key

Defines

#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_KEY_INDEX(OBJ, KEY)   u_int OBJ = KEY
#define ACE_MUTEX_LOCK_CLEANUP_ADAPTER_NAME   ace_mutex_lock_cleanup_adapter
#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
#define ACE_INLINE   inline

Typedefs

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 &sched_params)
int ACE_OS::lwp_setparams (const ACE_Sched_Params &sched_params)
ACE_NAMESPACE_INLINE_FUNCTION
long 
ACE_OS::priority_control (ACE_idtype_t, ACE_id_t, int, void *)
 Low-level interface to <priocntl>(2).
int ACE_OS::scheduling_class (const char *class_name, ACE_id_t &)
 Find the schedling class ID that corresponds to the class name.
int ACE_OS::set_scheduling_params (const ACE_Sched_Params &, ACE_id_t id=ACE_SELF)
 Friendly interface to <priocntl>(2).
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sigtimedwait (const sigset_t *set, siginfo_t *info, const ACE_Time_Value *timeout)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sigwait (sigset_t *set, int *sig=0)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::sigwaitinfo (const sigset_t *set, siginfo_t *info)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_cancel (ACE_thread_t t_id)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_cmp (ACE_hthread_t t1, ACE_hthread_t t2)
ACE_NAMESPACE_INLINE_FUNCTION
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 *thr_handle, long priority, void *stack, size_t stacksize, ACE_Base_Thread_Adapter *thread_adapter)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_equal (ACE_thread_t t1, ACE_thread_t t2)
void ACE_OS::thr_exit (ACE_THR_FUNC_RETURN status)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_getconcurrency (void)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_getprio (ACE_hthread_t id, int &priority)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_getprio (ACE_hthread_t id, int &priority, int &policy)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_join (ACE_hthread_t waiter_id, ACE_THR_FUNC_RETURN *status)
ACE_NAMESPACE_INLINE_FUNCTION
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, void *)
int ACE_OS::thr_key_used (ACE_thread_key_t key)
int ACE_OS::thr_keycreate (ACE_thread_key_t *key, ACE_THR_DEST dest, void *)
int ACE_OS::thr_keyfree (ACE_thread_key_t key)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_kill (ACE_thread_t thr_id, int signum)
ACE_NAMESPACE_INLINE_FUNCTION
size_t 
ACE_OS::thr_min_stack (void)
ACE_NAMESPACE_INLINE_FUNCTION
ACE_thread_t 
ACE_OS::thr_self (void)
ACE_NAMESPACE_INLINE_FUNCTION
void 
ACE_OS::thr_self (ACE_hthread_t &)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_setcancelstate (int new_state, int *old_state)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_setcanceltype (int new_type, int *old_type)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_setconcurrency (int hint)
ACE_NAMESPACE_INLINE_FUNCTION
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)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_sigsetmask (int how, const sigset_t *nsm, sigset_t *osm)
ACE_NAMESPACE_INLINE_FUNCTION
int 
ACE_OS::thr_suspend (ACE_hthread_t target_thread)
ACE_NAMESPACE_INLINE_FUNCTION
void 
ACE_OS::thr_testcancel (void)
ACE_NAMESPACE_INLINE_FUNCTION
void 
ACE_OS::thr_yield (void)
void ACE_OS::unique_name (const void *object, char *name, size_t length)

Variables

ACE_BEGIN_VERSIONED_NAMESPACE_DECL
typedef DWORD 
ACE_thread_t

Detailed Description

Id
OS_NS_Thread.h,v 1.56 2006/03/31 11:44:10 shuston Exp

Author:
Douglas C. Schmidt <schmidt@cs.wustl.edu>

Jesper S. M|ller<stophph@diku.dk>

and a cast of thousands...

Originally in OS.h.

Define Documentation

#define ACE_DEFAULT_SYNCH_TYPE   USYNC_THREAD

#define ACE_EXPORT_MACRO   ACE_Export

#define ACE_INLINE   inline

#define ACE_KEY_INDEX ( OBJ,
KEY   )     u_int OBJ = KEY

#define ACE_MUTEX_LOCK_CLEANUP_ADAPTER_NAME   ace_mutex_lock_cleanup_adapter

#define ACE_OS_GUARD

#define ACE_PTHREAD_CLEANUP_POP (  ) 

#define ACE_PTHREAD_CLEANUP_PUSH (  ) 

#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 ACE_OS_thread_key_t ACE_thread_key_t


Variable Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL typedef DWORD ACE_thread_t


Generated on Wed Apr 19 02:42:27 2006 for ACE by  doxygen 1.4.6-4