NAME

ACE_Thread_Descriptor - Information for controlling threads that run under the control of the Thread_Manager.

SYNOPSIS

#include <ace/Thread_Manager.h>

class ACE_Thread_Descriptor : public ACE_Thread_Descriptor_Base { public: friend class ACE_At_Thread_Exit; friend class ACE_Thread_Manager; friend class ACE_Double_Linked_List<ACE_Thread_Descriptor>; friend class ACE_Double_Linked_List_Iterator<ACE_Thread_Descriptor>; ACE_Thread_Descriptor (void); ACE_thread_t self (void); void self (ACE_hthread_t &); void dump (void) const; void log_msg_cleanup(ACE_Log_Msg* log_msg); int at_exit (ACE_At_Thread_Exit* cleanup); int at_exit (ACE_At_Thread_Exit& cleanup); int at_exit ( void *object, ACE_CLEANUP_FUNC cleanup_hook, void *param ); ~ACE_Thread_Descriptor (void); void acquire_release (void); ACE_INLINE_FOR_GNUC void set_next (ACE_Thread_Descriptor *td); ACE_INLINE_FOR_GNUC ACE_Thread_Descriptor *get_next (void); private: void reset (ACE_Thread_Manager *tm); void at_pop (int apply = 1); void at_push (ACE_At_Thread_Exit* cleanup, int is_owner = 0); void do_at_exit (void); void terminate (void); ACE_Log_Msg *log_msg_; ACE_At_Thread_Exit *at_exit_list_; ACE_Cleanup_Info cleanup_info_; ACE_Thread_Manager* tm_; ACE_DEFAULT_THREAD_MANAGER_LOCK *sync_; int terminated_; };

Initialization method.

ACE_Thread_Descriptor (void);

Accessor methods.

ACE_thread_t self (void);

void self (ACE_hthread_t &);

void dump (void) const;

void log_msg_cleanup(ACE_Log_Msg* log_msg);

int at_exit (ACE_At_Thread_Exit* cleanup);

int at_exit (ACE_At_Thread_Exit& cleanup);

int at_exit (
    void *object,
    ACE_CLEANUP_FUNC cleanup_hook,
    void *param
    );

~ACE_Thread_Descriptor (void);

void acquire_release (void);

ACE_INLINE_FOR_GNUC void set_next (ACE_Thread_Descriptor *td);

ACE_INLINE_FOR_GNUC ACE_Thread_Descriptor *get_next (void);

AUTHOR

Doug Schmidt

LIBRARY

ace