From 82540f7afa51edaef1acc0049e95ee63e42f11a5 Mon Sep 17 00:00:00 2001 From: bala Date: Thu, 16 Jan 2003 21:57:42 +0000 Subject: ChangeLogTag: Thu Jan 16 16:27:59 2003 Balachandran Natarajan --- TAO/ChangeLog | 7 +++++++ TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp | 11 +++++++++++ TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h | 7 +++++++ 3 files changed, 25 insertions(+) diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 4d37d5a648c..d8aad045072 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,10 @@ +Thu Jan 16 16:27:59 2003 Balachandran Natarajan + + * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.{h,cpp}: Added patches from + this checkin "Mon Oct 28 18:21:18 CET 2002 Oliver Kellogg + ". The patches mysteriously + dissappeared. Thanks to Oliver Kellogg for alerting me. + Thu Jan 16 13:25:10 2003 Nanbor Wang * docs/rtcorba/features.html: Fixed obsolete references to the diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp index 544bf3a1891..838f2b431ad 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp @@ -401,9 +401,15 @@ TAO_ECG_UDP_Receiver::handle_input (ACE_SOCK_Dgram& dgram) // from.get_ip_address (), from.get_port_number (), // fragment_id, fragment_count)); + TAO_ECG_UDP_Request_Index map_index (from, request_id); Request_Map_Entry* entry; + ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, + tao_mon, + this->request_map_protector_, + -1); + if (this->request_map_.find (map_index, entry) == -1) { // ACE_DEBUG ((LM_DEBUG, @@ -548,6 +554,11 @@ int TAO_ECG_UDP_Receiver::handle_timeout (const ACE_Time_Value& /* tv */, const void* /* act */) { + ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, + tao_mon, + this->request_map_protector_, + -1); + Request_Map::iterator begin = this->request_map_.begin (); Request_Map::iterator end = this->request_map_.end (); { diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h index 27eddc6b31a..c1496a25d55 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h @@ -211,6 +211,10 @@ public: int get_timeout (void) const; private: + /// avoid usage of default constructor that does no proper + /// initialization + ACE_UNIMPLEMENTED_FUNC (TAO_ECG_UDP_Request_Entry (void)); + /// This attributes should remain constant in all the fragments, used /// for validation.... CORBA::Boolean byte_order_; @@ -356,6 +360,9 @@ private: /// partially received. Request_Map request_map_; + /// Mutex for the map + TAO_SYNCH_MUTEX request_map_protector_; + /// To receive the timeouts.. TAO_ECG_UDP_TH timeout_handler_; -- cgit v1.2.1