diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-10-11 02:58:21 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-10-11 02:58:21 +0000 |
commit | 002ed86e9cc7716dc33289d3b54cfc6ac57b6e97 (patch) | |
tree | c1fd7b32d8fdbb95a4da9e4e073ed17be6d79f8d /ace/Task.cpp | |
parent | 5e4d72d99b8b4757c39d6c89022dee72aa3bf2f4 (diff) | |
download | ATCD-002ed86e9cc7716dc33289d3b54cfc6ac57b6e97.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Task.cpp')
-rw-r--r-- | ace/Task.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ace/Task.cpp b/ace/Task.cpp index 028dab05688..93de047f845 100644 --- a/ace/Task.cpp +++ b/ace/Task.cpp @@ -123,6 +123,14 @@ ACE_Task_Base::cleanup (void *object, void *) t->close (); } +#if defined (ACE_HAS_SIG_C_FUNC) +extern "C" void +ACE_Task_Base_cleanup (void *object, void *) +{ + ACE_Task_Base::cleanup (object); +} +#endif /* ACE_HAS_SIG_C_FUNC */ + void * ACE_Task_Base::svc_run (void *args) { @@ -133,7 +141,12 @@ ACE_Task_Base::svc_run (void *args) // Register ourself with our <Thread_Manager>'s thread exit hook // mechanism so that our close() hook will be sure to get invoked // when this thread exits. + +#if defined ACE_HAS_SIG_C_FUNC + t->thr_mgr ()->at_exit (t, ACE_Task_Base_cleanup, 0); +#else t->thr_mgr ()->at_exit (t, ACE_Task_Base::cleanup, 0); +#endif /* ACE_HAS_SIG_C_FUNC */ // Call the Task's svc() hook method. return (void *) t->svc (); |