if (i == rank) {
std::cerr << "Adding node of processor : " << i << std::endl;
par_compo->add_parallel_provides_node_port(Ports::Port_PaCO::_narrow(port->_this()), port_name.c_str());
+ port->_remove_ref();
}
com->paco_barrier();
}
{
_orb = CORBA::ORB::_duplicate(orb);
_fake_properties = new PortProperties_i();
+ _fake_prop_ref = _fake_properties->_this();
+ _fake_properties->_remove_ref();
+
_par_compo = par_compo;
_port_name = port_name;
_provides_port = NULL;
Param_Double_Port_uses_i::~Param_Double_Port_uses_i()
{
- if (_fake_properties)
- delete _fake_properties;
if (_provides_port)
{
_provides_port->stop();
{
_par_compo->add_uses_port("IDL:Ports/Param_Double_Port:1.0",
_port_name.c_str(),
- _fake_properties->_this());
+ _fake_prop_ref);
}
void
Engines_ParallelDSC_i * _par_compo;
Ports::Param_Double_Port_var _proxy_port;
PortProperties_i * _fake_properties;
-
+ Ports::PortProperties_var _fake_prop_ref;
Ports::PaCO_Param_Double_Port * _provides_port;
};
#endif
{
INFOS("Caught CORBA::Exception.");
}
+ catch(omniORB::fatalException& fe)
+ {
+ INFOS("Caught omniORB::fatalException:");
+ INFOS(" file: " << fe.file());
+ INFOS(" line: " << fe.line());
+ INFOS(" mesg: " << fe.errmsg());
+ }
catch(std::exception& exc)
{
INFOS("Caught std::exception - "<<exc.what());