#include "ace/TSS_T.h"
#include "ace/Thread_Manager.h"
#include "ace/Dynamic.h"
#include "ace/Object_Manager.h"
#include "ace/Singleton.h"
#include "ace/Auto_Ptr.h"
#include "ace/Guard_T.h"
Include dependency graph for Thread_Manager.cpp:
Defines | |
#define | ACE_FIND(OP, INDEX) ACE_Thread_Descriptor *INDEX = OP; \ |
#define | ACE_THR_OP(OP, STATE) |
#define | ACE_EXECUTE_OP(OP, ARG) |
Functions | |
const char * | get_rcsid_ace_Thread_Manager (const char *) |
ACE_TSS_TYPE (ACE_Thread_Exit)*ACE_Thread_Manager | |
Variables | |
const char * | rcsid_ace_Thread_Manager = get_rcsid_ace_Thread_Manager ( rcsid_ace_Thread_Manager ) |
|
Value: ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1)); \ ACE_ASSERT (this->thr_to_be_removed_.is_empty ()); \ ACE_FIND (this->find_thread (t_id), ptr); \ if (ptr == 0) \ { \ errno = ENOENT; \ return -1; \ } \ int result = OP (ptr, ARG); \ ACE_Errno_Guard error (errno); \ while (! this->thr_to_be_removed_.is_empty ()) { \ ACE_Thread_Descriptor *td; \ this->thr_to_be_removed_.dequeue_head (td); \ this->remove_thr (td, 1); \ } \ return result |
|
|
|
Value: int result = OP (td->thr_handle_); \ if (result == -1) { \ if (errno != ENOTSUP) \ this->thr_to_be_removed_.enqueue_tail (td); \ return -1; \ } \ else { \ ACE_SET_BITS (td->thr_state_, STATE); \ return 0; \ } |
|
|
|
|
|
|