Commit e032fd06 authored by Pavel Vainerman's avatar Pavel Vainerman

Убрал "вылет" при недоступности локального omniNames. Т.к. он нужен не всегда.

parent 0fea89d8
......@@ -3,7 +3,7 @@
Name: libuniset
Version: 1.0
Release: alt44
Release: alt45
Summary: UniSet - library for building distributed industrial control systems
License: GPL
Group: Development/C++
......@@ -207,6 +207,9 @@ rm -f %buildroot%_libdir/*.la
%changelog
* Tue Oct 04 2011 Pavel Vainerman <pv@altlinux.ru> 1.0-alt45
- dependence on mandatory disabled launching a local omninames service
* Mon Oct 03 2011 Pavel Vainerman <pv@altlinux.ru> 1.0-alt44
- add nodes filter for UNet2
- minor optimization
......
......@@ -89,15 +89,15 @@ void UniversalInterface::init()
}
catch( Exception& ex )
{
if( !uconf->isLocalIOR() )
throw ex;
// if( !uconf->isLocalIOR() )
// throw ex;
localctx=CosNaming::NamingContext::_nil();
}
catch( ... )
{
if( !uconf->isLocalIOR() )
throw;
// if( !uconf->isLocalIOR() )
// throw;
localctx=CosNaming::NamingContext::_nil();
}
......@@ -1692,7 +1692,20 @@ ObjectPtr UniversalInterface::resolve( ObjectId rid , ObjectId node, int timeout
}
}
else
ctx = localctx;
{
if( CORBA::is_nil(localctx) )
{
if( CORBA::is_nil(orb) )
{
CORBA::ORB_var _orb = uconf->getORB();
localctx = ORepHelpers::getRootNamingContext( _orb, oind->getRealNodeName(uconf->getLocalNode()) );
}
else
localctx = ORepHelpers::getRootNamingContext( orb, oind->getRealNodeName(uconf->getLocalNode()) );
}
else
ctx = localctx;
}
CosNaming::Name_var oname = omniURI::stringToName( oind->getNameById(rid,node).c_str() );
for (unsigned int i=0; i<uconf->getRepeatCount(); i++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment