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

Thread_Manager.cpp File Reference

#include "ace_pch.h"
#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_Manager.i"

Include dependency graph for Thread_Manager.cpp:

Include dependency graph

Go to the source code of this file.

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 )


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 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

Definition at line 1059 of file Thread_Manager.cpp.

Referenced by ACE_Thread_Manager::cancel, ACE_Thread_Manager::kill, ACE_Thread_Manager::resume, and ACE_Thread_Manager::suspend.

#define ACE_FIND OP,
INDEX       ACE_Thread_Descriptor *INDEX = OP; \
 

Definition at line 281 of file Thread_Manager.cpp.

Referenced by ACE_Thread_Manager::check_state, ACE_Thread_Manager::get_grp, ACE_Thread_Manager::hthread_descriptor, ACE_Thread_Manager::set_grp, and ACE_Thread_Manager::thread_descriptor.

#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; \
  }

Definition at line 948 of file Thread_Manager.cpp.


Function Documentation

ACE_TSS_TYPE ACE_Thread_Exit   
 

Definition at line 29 of file Thread_Manager.cpp.

References ACE_TSS_TYPE.

Referenced by ACE_TSS_TYPE.

00033 {
00034   if (ACE_Thread_Manager::thr_exit_ == 0)
00035     ACE_Thread_Manager::thr_exit_ = ptr;
00036   else
00037     return -1;
00038   return 0;
00039 }

const char* get_rcsid_ace_Thread_Manager const char *    [inline, static]
 

Definition at line 15 of file Thread_Manager.cpp.

00015 : Thread_Manager.cpp,v 1.1.1.4.2.1 2003/03/13 19:44:22 chad Exp $")


Variable Documentation

const char* rcsid_ace_Thread_Manager = get_rcsid_ace_Thread_Manager ( rcsid_ace_Thread_Manager ) [static]
 

Definition at line 15 of file Thread_Manager.cpp.


Generated on Mon Jun 16 12:35:09 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002