예제 #1
0
void
Test_Supplier::disconnect (void)
{
  if (CORBA::is_nil (this->consumer_proxy_.in ()))
    return;

  RtecEventChannelAdmin::ProxyPushConsumer_var proxy =
    this->consumer_proxy_._retn ();

  try
    {
      proxy->disconnect_push_consumer ();
    }
  catch (const CORBA::OBJECT_NOT_EXIST&)
    {
      // Ignore, the EC can shutdown before we get a chance to
      // disconnect
    }
  catch (const CORBA::TRANSIENT&)
    {
      // Ignore, the EC can shutdown before we get a chance to
      // disconnect
    }
  catch (const CORBA::Exception&)
    {
      throw;
    }
}
예제 #2
0
void
Loopback_Supplier::disconnect (void)
{
  RtecEventChannelAdmin::ProxyPushConsumer_var proxy;
  {
    ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
    if (CORBA::is_nil (this->proxy_consumer_.in ()))
      return;
    proxy = this->proxy_consumer_._retn ();
  }

  Implicit_Deactivator deactivator (this);

  try{
    proxy->disconnect_push_consumer ();
  } catch (const CORBA::Exception&) {
  }
}