diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-10-18 21:52:51 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-10-18 21:52:51 +0000 |
commit | 8441bdfcc4c132eb3ffb0abb4a71303516f0cb96 (patch) | |
tree | 861833687dc69ab5c2e3f9a25731838932d96942 /ace/Object_Manager.cpp | |
parent | 6a8f64101d9e2082e38e24108c58dbd130ddd045 (diff) | |
download | ATCD-8441bdfcc4c132eb3ffb0abb4a71303516f0cb96.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Object_Manager.cpp')
-rw-r--r-- | ace/Object_Manager.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/ace/Object_Manager.cpp b/ace/Object_Manager.cpp index 0d8ca070898..520482daa1c 100644 --- a/ace/Object_Manager.cpp +++ b/ace/Object_Manager.cpp @@ -79,7 +79,6 @@ void *ACE_Object_Manager::preallocated_array[ preallocated_array[ID] = 0; #endif /* ACE_HAS_STATIC_PREALLOCATION */ - ACE_Object_Manager::ACE_Object_Manager (void) : shutting_down_(0) // , lock_ is initialized in the function body. @@ -145,23 +144,18 @@ ACE_Object_Manager::~ACE_Object_Manager (void) // some object tries to register, it won't be. shutting_down_ = 1; ACE_Trace::stop_tracing (); + while (registered_objects_ && registered_objects_->dequeue_head (info) != -1) - { - if (info.cleanup_hook_ == (ACE_CLEANUP_FUNC) ace_cleanup_destroyer) - { - // The object is an ACE_Cleanup. - ace_cleanup_destroyer ((ACE_Cleanup *) info.object_, info.param_); - } - else - { - (*info.cleanup_hook_) (info.object_, info.param_); - } - } + if (info.cleanup_hook_ == (ACE_CLEANUP_FUNC) ace_cleanup_destroyer) + // The object is an ACE_Cleanup. + ace_cleanup_destroyer ((ACE_Cleanup *) info.object_, info.param_); + else + (*info.cleanup_hook_) (info.object_, info.param_); // This call closes and deletes all ACE library services and - // singletons. This closes the ACE_Thread_Manager, which cleans - // up all running threads. + // singletons. This closes the ACE_Thread_Manager, which cleans up + // all running threads. ACE_Service_Config::close (); // Close the main thread's TSS, including its Log_Msg instance. |