diff options
author | Steve Huston <shuston@riverace.com> | 2000-06-22 17:33:22 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2000-06-22 17:33:22 +0000 |
commit | 5fe91abd234c56e84c13998ddf52b611b6517e24 (patch) | |
tree | 2eab80786fb4ac0e2bfd26c7eb1f5030d640e598 /ace/OS.cpp | |
parent | f134257b1ba4e0efc85f531352463d210279d452 (diff) | |
download | ATCD-5fe91abd234c56e84c13998ddf52b611b6517e24.tar.gz |
ChangeLogTag:Thu Jun 22 13:29:22 2000 Steve Huston <shuston@riverace.com>
Diffstat (limited to 'ace/OS.cpp')
-rw-r--r-- | ace/OS.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/ace/OS.cpp b/ace/OS.cpp index 33198ef64a3..69c28848db5 100644 --- a/ace/OS.cpp +++ b/ace/OS.cpp @@ -1,4 +1,4 @@ -// $Id$ +g// $Id$ #include "ace/OS.h" #include "ace/Sched_Params.h" @@ -2497,6 +2497,25 @@ ACE_Thread_Adapter::invoke (void) # endif /* ACE_WIN32 */ #endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */ +#if defined (ACE_PSOS) + // This sequence of calls is documented by ISI as the proper way to + // clean up a pSOS task. They affect different components, so only + // try the ones for components that are built with ACE. +# if defined (SC_PREPC) && (SC_PREPC == YES) + ::fclose (0); // Return pREPC+ resources +# endif /* SC_PREPC */ +# if defined (SC_PHILE) && (SC_PHILE == YES) + ::close_f (0); // Return pHILE+ resources +# endif /* SC_PHILE */ +# if defined (SC_PNA) && (SC_PNA == YES) + ::close (0); // Return pNA+ resources +# endif /* SC_PNA */ +# if defined (SC_SC_PREPC) && (SC_PREPC == YES) + ::free (-1); // Return pREPC+ memory +# endif /* SC_PREPC */ + status = ::t_delete (0); // Suicide - only returns on error +#endif /* ACE_PSOS */ + return status; } |