Thread::exit, C++ or Win32
exception, "falling off the end" of Task::svc_run, etc.).
#include <ace/Task.h>
class ACE_Task_Exit {
public:ACE_Task_Exit (void);void set_task (ACE_Task_Base *t);ACE_Task_Base *get_task (void);void *status (void *s);void *status (void);~ACE_Task_Exit (void);static ACE_Task_Exit *instance (void);private:ACE_Task_Base *t_;void *status_;ACE_Thread_Control tc_;static ACE_Thread_Mutex ace_task_lock_;};
ACE_TSS wrapper. When a thread exits the
ACE_TSS::cleanup function deletes this object, thereby
closing it down gracefully.
ACE_Task_Exit (void);
void set_task (ACE_Task_Base *t);
ACE_Task_Base *get_task (void);
void *status (void *s);
void *status (void);
~ACE_Task_Exit (void);
close method of the captured Task on exit.
static ACE_Task_Exit *instance (void);
ACE_Task_Base *t_;
void *status_;
ACE_Thread_Control tc_;
static ACE_Thread_Mutex ace_task_lock_;