summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-01-16 21:57:42 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-01-16 21:57:42 +0000
commit82540f7afa51edaef1acc0049e95ee63e42f11a5 (patch)
treef4996f453a22547a4263fb7697896819606de05d
parenta693fd8570f7658f0a49caefed1aefa87374db75 (diff)
downloadATCD-82540f7afa51edaef1acc0049e95ee63e42f11a5.tar.gz
ChangeLogTag: Thu Jan 16 16:27:59 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog7
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp11
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h7
3 files changed, 25 insertions, 0 deletions
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 <bala@isis-server.isis.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.{h,cpp}: Added patches from
+ this checkin "Mon Oct 28 18:21:18 CET 2002 Oliver Kellogg
+ <oliver.kellogg@sysde.eads.net>". The patches mysteriously
+ dissappeared. Thanks to Oliver Kellogg for alerting me.
+
Thu Jan 16 13:25:10 2003 Nanbor Wang <nanbor@cs.wustl.edu>
* 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_;