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); long flags (void) const; 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 at_pop(int apply = 1); void at_push(ACE_At_Thread_Exit* cleanup, int is_owner = 0); void do_at_exit(); void terminate(); 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 registered_; 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);

long flags (void) const;

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