Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# Thread_Manager.cpp File Reference

`#include "ace/Synch_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/Thread_Exit.h"`
`#include "ace/Thread_Manager.i"`

Include dependency graph for Thread_Manager.cpp:

## Defines
#define | ACE_FIND(OP,INDEX)
#define | ACE_THR_OP(OP,STATE)
#define | ACE_EXECUTE_OP(OP, ARG)

## Define Documentation

#define ACE_EXECUTE_OP( | OP, ARG )

| Initializer:
    \
      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

#define ACE_FIND( | OP, INDEX )

| Initializer:
    \
      ACE_Thread_Descriptor *INDEX = OP; \

#define ACE_THR_OP( | OP, STATE )

| Initializer:
    \
      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; \
      }