diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-03 17:19:57 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-03 17:19:57 +0000 |
commit | 0fa061278f97f7ca8f0c3ce57ca38a55a1939e50 (patch) | |
tree | 7c56f25b5e3e7c5845c9ee90f1959e2b01e5f98c | |
parent | c3bb63ca89ec0876f347fdebab891f6342e1a50a (diff) | |
download | ATCD-0fa061278f97f7ca8f0c3ce57ca38a55a1939e50.tar.gz |
ChangeLogTag:Fri Jul 03 11:34:38 1998 Carlos O'Ryan <coryan@JIG>
-rw-r--r-- | TAO/ChangeLog-98c | 12 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp | 4 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/Event_Channel.cpp | 2 |
3 files changed, 15 insertions, 3 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c index 9eb9451865a..93c89062285 100644 --- a/TAO/ChangeLog-98c +++ b/TAO/ChangeLog-98c @@ -6,8 +6,16 @@ Fri Jul 03 11:36:04 1998 David L. Levine <levine@cs.wustl.edu> Fri Jul 03 11:34:38 1998 Carlos O'Ryan <coryan@JIG> - * orbsvcs/tests/EC_Throughput/Makefile: - Added new object files to the Makefile. + * orbsvcs/tests/EC_Throughput/Makefile: + Added new object files to the Makefile. + + * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: + Protected against null publication or subscription list. + + * orbsvcs/orbsvcs/Event/Event_Channel.cpp: + Removed a possible race condition in consumer + disconnections. Thanks to Thomas Venturella <tventurell@mdc.com> + for the last two fixes. Fri Jul 03 08:40:28 1998 Steve Huston <shuston@riverace.com> diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp index fa1df6dca2a..1eab11d593e 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp @@ -164,6 +164,10 @@ TAO_EC_Gateway_IIOP::update_consumer (RtecEventChannelAdmin::ConsumerQOS& sub, this->close (env); if (env.exception () != 0) return; + if (sub.dependencies.length () == 0 + || pub.publications.length () == 0) + return; + for (CORBA::ULong i = 0; i < sub.dependencies.length (); ++i) { sub.dependencies[i].rt_info = this->rmt_info_; diff --git a/TAO/orbsvcs/orbsvcs/Event/Event_Channel.cpp b/TAO/orbsvcs/orbsvcs/Event/Event_Channel.cpp index c3dee39e2e4..e923549576c 100644 --- a/TAO/orbsvcs/orbsvcs/Event/Event_Channel.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/Event_Channel.cpp @@ -576,8 +576,8 @@ void ACE_Push_Consumer_Proxy::disconnect_push_supplier (CORBA::Environment &_env) { ACE_TIMEPROBE_PRINT; - this->consumer_module_->disconnecting (this, _env); this->push_consumer_ = 0; + this->consumer_module_->disconnecting (this, _env); } void |