NAME

ACE_Thread_Control - Used to keep track of a thread's activities within its entry point function.

SYNOPSIS

#include <ace/OS.h>

class ACE_Thread_Control { public: ACE_Thread_Control (ACE_Thread_Manager *tm = 0, int insert = 0); ~ACE_Thread_Control (void); void *exit (void *status, int do_thr_exit); int insert (ACE_Thread_Manager *tm, int insert = 0); ACE_Thread_Manager *thr_mgr (void); ACE_Thread_Manager *thr_mgr (ACE_Thread_Manager *); void *status (void *status); void *status (void); void dump (void) const; ACE_ALLOC_HOOK_DECLARE; private: ACE_Thread_Manager *tm_; void *status_; };

DESCRIPTION

A ACE_Thread_Manager uses this class to ensure that threads it spawns automatically register and unregister themselves with it.

This class can be stored in thread-specific storage using the ACE_TSS wrapper. When a thread exits the ACE_TSS::cleanup function deletes this object, thereby ensuring that it gets removed from its associated ACE_Thread_Manager.

PUBLIC MEMBERS

ACE_Thread_Control (ACE_Thread_Manager *tm = 0, int insert = 0);

~ACE_Thread_Control (void);

void *exit (void *status, int do_thr_exit);

int insert (ACE_Thread_Manager *tm, int insert = 0);

ACE_Thread_Manager *thr_mgr (void);

ACE_Thread_Manager *thr_mgr (ACE_Thread_Manager *);

void *status (void *status);

void *status (void);

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

PRIVATE MEMBERS

ACE_Thread_Manager *tm_;

void *status_;

AUTHOR

Doug Schmidt schmidt@cs.wustl.edu, Jesper S. M|ller stophph@diku.dk, 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