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