diff options
author | sma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-07-05 07:40:43 +0000 |
---|---|---|
committer | sma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-07-05 07:40:43 +0000 |
commit | 395816ab03cd23fd716a6ed059c184e0ace6a303 (patch) | |
tree | 4212ce503cc29d42f8c1b7d981bd66e6b09eaa21 /ACE/ace/Thread_Manager.cpp | |
parent | 020d1ec59a5ca979216244b85431d12214b330f2 (diff) | |
download | ATCD-395816ab03cd23fd716a6ed059c184e0ace6a303.tar.gz |
ChangeLogTag: Thu Jul 5 07:40:00 UTC 2007 Simon Massey <sma@prismtech.com>
Diffstat (limited to 'ACE/ace/Thread_Manager.cpp')
-rw-r--r-- | ACE/ace/Thread_Manager.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ACE/ace/Thread_Manager.cpp b/ACE/ace/Thread_Manager.cpp index 709873d2808..7864289849e 100644 --- a/ACE/ace/Thread_Manager.cpp +++ b/ACE/ace/Thread_Manager.cpp @@ -532,6 +532,7 @@ ace_thread_manager_adapter (void *args) // Invoke the user-supplied function with the args. void *status = thread_args->invoke (); + delete static_cast<ACE_Base_Thread_Adapter> (thread_args); return status; } #endif @@ -585,6 +586,7 @@ ACE_Thread_Manager::spawn_i (ACE_THR_FUNC func, new_thr_desc.get ()), -1); # endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */ + auto_ptr <ACE_Base_Thread_Adapter> auto_thread_args (static_cast<ACE_Base_Thread_Adapter *> (thread_args)); ACE_TRACE ("ACE_Thread_Manager::spawn_i"); ACE_hthread_t thr_handle; @@ -639,6 +641,7 @@ ACE_Thread_Manager::spawn_i (ACE_THR_FUNC func, new_thr_desc->sync_->release (); return -1; } + auto_thread_args.release (); #if defined (ACE_HAS_WTHREADS) // Have to duplicate handle if client asks for it. |