From b2212eb2a2edea96e14a5ee278e1cd24f51a5526 Mon Sep 17 00:00:00 2001 From: prascle Date: Tue, 24 Oct 2006 12:07:58 +0000 Subject: [PATCH] PR: Shutdown containers correction: avoid CORBA calls to a container during its shutdown (see KERNEL Unit Tests) --- src/Container/SALOME_ContainerManager.cxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Container/SALOME_ContainerManager.cxx b/src/Container/SALOME_ContainerManager.cxx index 61aa660fc..8998aa2e3 100644 --- a/src/Container/SALOME_ContainerManager.cxx +++ b/src/Container/SALOME_ContainerManager.cxx @@ -111,7 +111,23 @@ void SALOME_ContainerManager::ShutdownContainers() MESSAGE("ShutdownContainers"); _NS->Change_Directory("/Containers"); vector vec = _NS->list_directory_recurs(); + list lstCont; for(vector::iterator iter = vec.begin();iter!=vec.end();iter++) + { + SCRUTE((*iter)); + CORBA::Object_var obj=_NS->Resolve((*iter).c_str()); + Engines::Container_var cont=Engines::Container::_narrow(obj); + if(!CORBA::is_nil(cont)) + { + lstCont.push_back((*iter)); + } + } + MESSAGE("Container list: "); + for(list::iterator iter=lstCont.begin();iter!=lstCont.end();iter++) + { + SCRUTE((*iter)); + } + for(list::iterator iter=lstCont.begin();iter!=lstCont.end();iter++) { SCRUTE((*iter)); CORBA::Object_var obj=_NS->Resolve((*iter).c_str()); -- 2.39.2