NAME

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

SYNOPSIS

#include <ace/Thread_Manager.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); 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);

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

LIBRARY

ace