summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
index 8967caff514..ae85ddadb88 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
@@ -81,6 +81,23 @@ TAO_Notify_StructuredProxyPushConsumer::get_proxy_type_name (void) const
}
void
+TAO_Notify_StructuredProxyPushConsumer::validate ()
+{
+ TAO_Notify_Supplier* sup = this->supplier ();
+ if (sup != 0 && ! sup->is_alive (true))
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) TAO_Notify_StructuredProxyPushConsumer::validate(%d)")
+ ACE_TEXT("disconnecting \n"), this->id ()));
+ }
+
+ this->disconnect_structured_push_consumer ();
+ }
+}
+
+void
TAO_Notify_StructuredProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);