diff options
author | nw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-11-05 21:06:40 +0000 |
---|---|---|
committer | nw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-11-05 21:06:40 +0000 |
commit | 8c61d6113fd3f60cde984624c44df5e8efa98e20 (patch) | |
tree | d857eac02f0eb7cdc7101ddab7b22195a18d34e1 /ace/Thread_Manager.cpp | |
parent | 64175866401fcf21355b7c08aad073d7e001bbe9 (diff) | |
download | ATCD-8c61d6113fd3f60cde984624c44df5e8efa98e20.tar.gz |
Changed the data type of terminated_thr_queue_ back to ACE_Unbounded_Queue<ACE_Thread_Descriptor>.
Diffstat (limited to 'ace/Thread_Manager.cpp')
-rw-r--r-- | ace/Thread_Manager.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp index a0e508142c6..e8cb86482b0 100644 --- a/ace/Thread_Manager.cpp +++ b/ace/Thread_Manager.cpp @@ -1226,7 +1226,7 @@ ACE_Thread_Manager::exit (void *status, int do_thr_exit) { // Mark thread as terminated. td->thr_state_ = ACE_THR_TERMINATED; - this->terminated_thr_queue_.enqueue_tail (td); + this->terminated_thr_queue_.enqueue_tail (*td); } #endif /* ! VXWORKS */ @@ -1286,12 +1286,12 @@ ACE_Thread_Manager::wait (const ACE_Time_Value *timeout) { ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1)); - ACE_Thread_Descriptor *item; + ACE_Thread_Descriptor item; while (!this->terminated_thr_queue_.dequeue_head (item)) - if(ACE_BIT_DISABLED (item->flags_, (THR_DETACHED | THR_DAEMON)) - || ACE_BIT_ENABLED (item->flags_, THR_JOINABLE)) - ACE_Thread::join (item->thr_handle_); + if(ACE_BIT_DISABLED (item.flags_, (THR_DETACHED | THR_DAEMON)) + || ACE_BIT_ENABLED (item.flags_, THR_JOINABLE)) + ACE_Thread::join (item.thr_handle_); } #endif /* VXWORKS */ #else @@ -1669,6 +1669,11 @@ ACE_Thread_Control::exit (void *exit_status, int do_thr_exit) } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +#if !defined (VXWORKS) +template class ACE_Unbounded_Queue<ACE_Thread_Descriptor>; +template class ACE_Unbounded_Queue_Iterator<ACE_Thread_Descriptor>; +template class ACE_Node<ACE_Thread_Descriptor>; +#endif /* ! VXWORKS */ template class ACE_Unbounded_Queue<ACE_Thread_Descriptor*>; template class ACE_Unbounded_Queue_Iterator<ACE_Thread_Descriptor*>; template class ACE_Node<ACE_Thread_Descriptor*>; @@ -1680,6 +1685,11 @@ template class ACE_Double_Linked_List_Iterator<ACE_Thread_Descriptor>; template class ACE_TSS<ACE_Thread_Exit>; #endif /* ACE_HAS_THREADS && (ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION) */ #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#if !defined (VXWORKS) + #pragma instantiate ACE_Unbounded_Queue<ACE_Thread_Descriptor> + #pragma instantiate ACE_Unbounded_Queue_Iterator<ACE_Thread_Descriptor> + #pragma instantiate ACE_Node<ACE_Thread_Descriptor +#endif /* ! VXWORKS */ #pragma instantiate ACE_Unbounded_Queue<ACE_Thread_Descriptor*> #pragma instantiate ACE_Unbounded_Queue_Iterator<ACE_Thread_Descriptor*> #pragma instantiate ACE_Node<ACE_Thread_Descriptor*> |