summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
diff options
context:
space:
mode:
authorcleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-03 06:11:06 +0000
committercleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-03 06:11:06 +0000
commite2007c24335670962dab0545196514b5a09e5103 (patch)
treef0233c5e9e4cbe54ff54efe7254346ed9fd53ee9 /TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
parent44f72b9dbc8a780d82d6a37e585709dd030c7881 (diff)
downloadATCD-e2007c24335670962dab0545196514b5a09e5103.tar.gz
ACE ChangeLogTag: Wed Jan 3 05:53:04 UTC 2007 Chris Cleeland <cleeland_c@ociweb.com>
TAO ChangeLogTag: Wed Jan 3 05:58:08 UTC 2007 Chris Cleeland <cleeland_c@ociweb.com> M TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h M TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp M TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp M TAO/orbsvcs/orbsvcs/Notify/Properties.h M TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp M TAO/orbsvcs/orbsvcs/Notify/Consumer.h M TAO/orbsvcs/orbsvcs/Notify/RT_Properties.cpp M TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp M TAO/orbsvcs/orbsvcs/Notify/Service.h M TAO/orbsvcs/orbsvcs/Notify/Properties.cpp M TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp M TAO/orbsvcs/orbsvcs/Notify/RT_Properties.h M TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp M TAO/orbsvcs/orbsvcs/Notify/Properties.inl M TAO/orbsvcs/Notify_Service/Notify_Service.cpp M TAO/orbsvcs/Notify_Service/README M TAO/orbsvcs/Notify_Service/Notify_Service.h M TAO/orbsvcs/tests/Event/Performance/run_test.pl M TAO/orbsvcs/tests/ImplRepo/NameService/run_test.pl M TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl M TAO/orbsvcs/tests/ImplRepo/run_test.pl M TAO/orbsvcs/tests/Bug_1436_Regression/run_test.pl M TAO/orbsvcs/tests/Bug_1393_Regression/run_test.pl M TAO/orbsvcs/tests/Bug_1395_Regression/run_test.pl M TAO/orbsvcs/tests/RTCosScheduling/run_test.pl M TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl M TAO/orbsvcs/tests/Security/Big_Request/run_test.pl M TAO/orbsvcs/tests/Security/Callback/run_test.pl M TAO/orbsvcs/tests/InterfaceRepo/Application_Test/run_test.pl M TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/run_test.pl MM TAO/orbsvcs/tests/Bug_2615_Regression/run_test.pl M TAO/orbsvcs/tests/Bug_1437_Regression/run_test.pl M TAO/orbsvcs/tests/Notify/Basic/run_test_ipv6.pl M TAO/orbsvcs/tests/Notify/Basic/run_test.pl M TAO/tao/GIOP_Utils.h M TAO/tao/Unbounded_Octet_Sequence_T.h M TAO/tao/ObjectKey_Table.h M TAO/tao/ObjectKey_Table.cpp M TAO/tao/GIOP_Message_State.cpp M TAO/ChangeLog M TAO/utils/nslist/run_test.pl A TAO/tests/Bug_2702_Regression A TAO/tests/Bug_2702_Regression/client.cpp A TAO/tests/Bug_2702_Regression/CloseConnection.mpc A TAO/tests/Bug_2702_Regression/Test.idl A TAO/tests/Bug_2702_Regression/fakeserver.pm A TAO/tests/Bug_2702_Regression/fakeserver2.pl A TAO/tests/Bug_2702_Regression/closeconnection.dat A TAO/tests/Bug_2702_Regression/README A TAO/tests/Bug_2702_Regression/run_test.pl M TAO/tests/DLL_ORB/run_test.pl M TAO/tests/Portable_Interceptors/PolicyFactory/run_test.pl M TAO/tests/Portable_Interceptors/Request_Interceptor_Flow/run_test.pl M TAO/tests/Portable_Interceptors/IORInterceptor/run_test.pl M TAO/tests/Portable_Interceptors/PICurrent/run_test.pl M TAO/tests/COIOP/run_test.pl M TAO/NEWS M ACE/ace/CDR_Stream.inl M ACE/ace/QtReactor/QtReactor.cpp M ACE/bin/auto_run_tests.pl M ACE/bin/tao_orb_tests.lst M ACE/NEWS M ACE/ChangeLog
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
index 7b19b418ebc..96a7d9ef8a7 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
@@ -31,6 +31,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL
TAO_Notify_Consumer::TAO_Notify_Consumer (TAO_Notify_ProxySupplier* proxy)
: proxy_ (proxy)
, is_suspended_ (0)
+, have_not_yet_verified_publish_ (true)
, pacing_ (proxy->qos_properties_.pacing_interval ())
, max_batch_size_ (CosNotification::MaximumBatchSize, 0)
, timer_id_ (-1)
@@ -683,7 +684,14 @@ void
TAO_Notify_Consumer::dispatch_updates_i (const CosNotification::EventTypeSeq& added, const CosNotification::EventTypeSeq& removed
ACE_ENV_ARG_DECL)
{
- if (!CORBA::is_nil (this->publish_.in ()))
+ if (this->have_not_yet_verified_publish_)
+ {
+ this->have_not_yet_verified_publish_ = false; // no need to check again
+ if (! this->publish_->_is_a ("IDL:omg.org/CosNotifyComm/NotifyPublish:1.0"
+ ACE_ENV_ARG_PARAMETER))
+ this->publish_ = CosNotifyComm::NotifyPublish::_nil();
+ }
+ if (! CORBA::is_nil (this->publish_.in ()))
this->publish_->offer_change (added, removed ACE_ENV_ARG_PARAMETER);
}