Thread_Manager.cpp File Reference

#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 "ace/Time_Value.h"
#include "ace/OS_NS_sys_time.h"
#include "ace/Truncate.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

 ACE_RCSID (ace, Thread_Manager,"$Id: Thread_Manager.cpp 85341 2009-05-14 11:07:37Z johnnyw $") 1 ACE_At_Thread_Exit

Define Documentation

#define ACE_EXECUTE_OP ( OP,
ARG   ) 
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 const result = OP (ptr, ARG); \
  ACE_Errno_Guard error (errno); \
  while (! this->thr_to_be_removed_.is_empty ()) { \
    ACE_Thread_Descriptor * td = 0; \
    this->thr_to_be_removed_.dequeue_head (td); \
    this->remove_thr (td, 1); \
  } \
  return result
#define ACE_FIND ( OP,
INDEX   )     ACE_Thread_Descriptor *INDEX = OP; \
#define ACE_THR_OP ( OP,
STATE   ) 
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; \
  }

Function Documentation

ACE_RCSID ( ace  ,
Thread_Manager  ,
"$Id: Thread_Manager.cpp 85341 2009-05-14 11:07:37Z johnnyw $"   
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Fri Sep 11 03:55:31 2009 for ACE by  doxygen 1.6.1