Classes | Namespaces | Defines | 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

struct  ACE_condattr_t
struct  ACE_mutexattr_t
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...
struct  ACE_eventdata_t
class  ACE_event_t
 Wrapper for NT events on UNIX. More...

Namespaces

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


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 THR_CANCEL_DISABLE   0
#define THR_CANCEL_ENABLE   0
#define THR_CANCEL_DEFERRED   0
#define THR_CANCEL_ASYNCHRONOUS   0
#define THR_JOINABLE   0
#define THR_DETACHED   0
#define THR_DAEMON   0
#define THR_BOUND   0
#define THR_NEW_LWP   0
#define THR_SUSPENDED   0
#define THR_SCHED_FIFO   0
#define THR_SCHED_RR   0
#define THR_SCHED_DEFAULT   0
#define THR_INHERIT_SCHED   0
#define USYNC_THREAD   0
#define USYNC_PROCESS   0
#define THR_SCOPE_PROCESS   0
#define THR_SCOPE_SYSTEM   0
#define ACE_THR_PRI_FIFO_DEF   0
#define ACE_THR_PRI_OTHER_DEF   0
#define ACE_DEFAULT_SYNCH_TYPE   USYNC_THREAD
#define ACE_SELF   (-1)
#define ACE_KEY_INDEX(OBJ, KEY)   u_int OBJ = KEY
#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 int ACE_cond_t
typedef int ACE_mutex_t
typedef int ACE_thread_mutex_t
typedef int ACE_recursive_thread_mutex_t
typedef int ACE_recursive_mutex_state
typedef int ACE_sema_t
typedef int ACE_rwlock_t
typedef int ACE_thread_t
typedef int ACE_hthread_t
typedef unsigned int 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 long ACE_id_t
typedef short ACE_pri_t

Functions

ACE_Export void ACE_OS::cleanup_tss (const u_int main_thread)
ACE_Export int ACE_OS::lwp_getparams (ACE_Sched_Params &)
ACE_Export 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).
ACE_Export int ACE_OS::scheduling_class (const char *class_name, ACE_id_t &)
 Find the schedling class ID that corresponds to the class name.
ACE_Export int ACE_OS::set_scheduling_params (const ACE_Sched_Params &, ACE_id_t id=ACE_SELF)
 Friendly interface to priocntl(2).
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)
ACE_Export 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)
ACE_Export 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)
ACE_Export int ACE_OS::thr_get_affinity (ACE_hthread_t thr_id, size_t cpu_set_size, cpu_set_t *cpu_mask)
ACE_Export int ACE_OS::thr_set_affinity (ACE_hthread_t thr_id, size_t cpu_set_size, const cpu_set_t *cpu_mask)
ACE_Export int ACE_OS::thr_key_detach (ACE_thread_key_t key, void *inst)
ACE_Export int ACE_OS::thr_key_used (ACE_thread_key_t key)
ACE_Export int ACE_OS::thr_keycreate (ACE_thread_key_t *key, ACE_THR_DEST, void *inst=0)
ACE_Export 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)
int ACE_OS::thr_setcancelstate (int new_state, int *old_state)
int ACE_OS::thr_setcanceltype (int new_type, int *old_type)
int ACE_OS::thr_setconcurrency (int hint)
int ACE_OS::thr_setprio (ACE_hthread_t ht_id, int priority, int policy=-1)
ACE_Export int ACE_OS::thr_setprio (const ACE_Sched_Priority prio)
ACE_Export 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)
ACE_Export 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_destroy (ACE_condattr_t &attributes)
int ACE_OS::cond_broadcast (ACE_cond_t *cv)
int ACE_OS::cond_destroy (ACE_cond_t *cv)
ACE_Export 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_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)
ACE_Export int ACE_OS::event_destroy (ACE_event_t *event)
ACE_Export 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)
ACE_Export int ACE_OS::event_pulse (ACE_event_t *event)
ACE_Export int ACE_OS::event_reset (ACE_event_t *event)
ACE_Export int ACE_OS::event_signal (ACE_event_t *event)
ACE_Export int ACE_OS::event_timedwait (ACE_event_t *event, ACE_Time_Value *timeout, int use_absolute_time=1)
ACE_Export int ACE_OS::event_wait (ACE_event_t *event)

ACE_Export int ACE_OS::mutex_destroy (ACE_mutex_t *m)
ACE_Export 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)
ACE_Export int ACE_OS::mutex_lock (ACE_mutex_t *m)
ACE_Export int ACE_OS::mutex_lock (ACE_mutex_t *m, int &abandoned)
ACE_Export 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)
ACE_Export void ACE_OS::mutex_lock_cleanup (void *mutex)
 Handle asynchronous thread cancellation cleanup.
ACE_Export int ACE_OS::mutex_trylock (ACE_mutex_t *m)
ACE_Export int ACE_OS::mutex_trylock (ACE_mutex_t *m, int &abandoned)
ACE_Export 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)
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)

ACE_Export 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_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_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_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

Detailed Description

Id:
OS_NS_Thread.h 91536 2010-08-27 18:36:54Z johnnyw
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_KEY_INDEX (   OBJ,
  KEY 
)    u_int OBJ = KEY
#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   (-1)
#define ACE_THR_PRI_FIFO_DEF   0
#define ACE_THR_PRI_OTHER_DEF   0
#define ACE_TSS_BASE_GUARD
#define ACE_TSS_CLEANUP_GUARD
#define THR_BOUND   0
#define THR_CANCEL_ASYNCHRONOUS   0
#define THR_CANCEL_DEFERRED   0
#define THR_CANCEL_DISABLE   0
#define THR_CANCEL_ENABLE   0
#define THR_DAEMON   0
#define THR_DETACHED   0
#define THR_INHERIT_SCHED   0
#define THR_JOINABLE   0
#define THR_NEW_LWP   0
#define THR_SCHED_DEFAULT   0
#define THR_SCHED_FIFO   0
#define THR_SCHED_RR   0
#define THR_SCOPE_PROCESS   0
#define THR_SCOPE_SYSTEM   0
#define THR_SUSPENDED   0
#define USYNC_PROCESS   0
#define USYNC_THREAD   0

Typedef Documentation

typedef int ACE_cond_t
typedef int ACE_hthread_t
typedef long ACE_id_t
typedef int ACE_idtype_t
typedef int ACE_mutex_t
typedef unsigned int ACE_OS_thread_key_t
typedef short ACE_pri_t
typedef int ACE_rwlock_t
typedef int ACE_Sched_Priority
typedef int ACE_sema_t
typedef int ACE_thread_mutex_t
typedef int ACE_thread_t
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines