diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-24 03:17:05 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-24 03:17:05 +0000 |
commit | b8b567966527cd17ca97aefd172bd5c5fb733760 (patch) | |
tree | e338da26bd680d088e8fd80629e212b7de45af54 /ace/Task.cpp | |
parent | fb7e091cc719a5cc42cdecb7963224f1eae945e9 (diff) | |
download | ATCD-b8b567966527cd17ca97aefd172bd5c5fb733760.tar.gz |
unify thread adapter use between ACE_OS and ACE_Thread_Manager
Diffstat (limited to 'ace/Task.cpp')
-rw-r--r-- | ace/Task.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ace/Task.cpp b/ace/Task.cpp index dd61a066c15..ada163c6bf7 100644 --- a/ace/Task.cpp +++ b/ace/Task.cpp @@ -181,9 +181,21 @@ ACE_Task_Base::svc_run (void *args) #endif /* ACE_HAS_SIG_C_FUNC */ // Call the Task's svc() hook method. - return (void *) t->svc (); + void * status = (void *) t->svc (); - /* NOTREACHED */ +// If we changed this zero change the other if in OS.cpp Thread_Adapter::invoke +#if 1 + // Call the <Task->close> hook. + ACE_Thread_Manager *thr_mgr_ptr = t->thr_mgr (); + + // This calls the Task->close () hook. + t->cleanup (t, 0); + + // This prevents a second invocation of the cleanup code + // (called later by <ACE_Thread_Manager::exit>. + thr_mgr_ptr->at_exit (t, 0, 0); +#endif + return status; } // Forward the call to close() so that existing applications don't |