Skip to content
Snippets Groups Projects
Commit 8eac56bc authored by Serguei Kolos's avatar Serguei Kolos
Browse files

Clean up objects cache when IPCCore::shutdown is called

parent 5c7f32da
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,7 @@ template <class T> class IPCSingleton;
class IPCCache : public boost::noncopyable
{
template <class> friend class IPCSingleton;
friend class IPCCore;
typedef boost::function<CORBA::Object_ptr ( )> Resolver;
......@@ -68,7 +69,7 @@ class IPCCache : public boost::noncopyable
IPCCache( );
void destroy() { delete this; }
CORBA::Boolean handleException( IPCCache::Entity * entity, CORBA::ULong retries, bool is_timedout );
static CORBA::Boolean global_transient_handler( void * cookie, CORBA::ULong retries, const CORBA::TRANSIENT & );
......
......@@ -363,7 +363,15 @@ IPCCore::shutdown( )
{
throw daq::ipc::NotInitialized( ERS_HERE );
}
{
// TODO: this is a temporary solution to be compatible with the
// tdaq-10-00-00 release to produce a patch. To be fixed properly in the
// next release
boost::mutex::scoped_lock lock(IPCSingleton<IPCCache>::instance().m_mutex);
IPCSingleton<IPCCache>::instance().m_map.clear();
}
try
{
// Sometimes deactivating Root POA causes hang up of the ORB shutdown
......@@ -380,7 +388,7 @@ IPCCore::shutdown( )
{
throw daq::ipc::CorbaSystemException( ERS_HERE, &ex );
}
ipc::destroy_interceptors();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment