summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2003-03-05 16:24:01 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2003-03-05 16:24:01 +0000
commitac0423dfb651ac6865663a328484e55f0e6f2c10 (patch)
tree452876efb3b4815285e37cc7ab2139e2985b1906
parent54ba4dbbd9cc328f0f8d97d4f50ca9f2a5145747 (diff)
downloadATCD-ac0423dfb651ac6865663a328484e55f0e6f2c10.tar.gz
ChangeLogTag: Wed Mar 5 10:21:54 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--TAO/ChangeLog26
-rw-r--r--TAO/tao/GIOP_Message_Lite.cpp14
2 files changed, 29 insertions, 11 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 27e3f135b62..91fae7747cd 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,29 +1,37 @@
+Wed Mar 5 10:21:54 2003 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/GIOP_Message_Lite.cpp (parse_incoming_messages):
+
+ When copying out the the message size, transfer the bytes into
+ a stack allocated character buffer to avoid bus errors on sparc
+ hardware.
+
Wed Mar 5 09:41:55 2003 Phil Mesnier <mesnier_p@ociweb.com>
- * tao/Makefile.bor (OBJFILES):
+ * tao/Makefile.bor (OBJFILES):
- Fixed typo in file list.
+ Fixed typo in file list.
Wed Mar 5 09:07:02 2003 Phil Mesnier <mesnier_p@ociweb.com>
- * tao/Transport.cpp (assign_translators):
+ * tao/Transport.cpp (assign_translators):
- Removed the ACE_INLINE from the function
+ Removed the ACE_INLINE from the function
Wed Mar 5 08:54:53 CST 2003 Pradeep Gore <pradeep@oomworks.com>
- * orbsvcs/Notify_Service/NT_Notify_Service.cpp:
- Corrected the changed service driver name.
+ * orbsvcs/Notify_Service/NT_Notify_Service.cpp:
+ Corrected the changed service driver name.
Wed Mar 5 06:14:34 2003 Phil Mesnier <mesnier_p@ociweb.com>
- * tao/Makefile.bor (OBJFILES):
+ * tao/Makefile.bor (OBJFILES):
- Added Codeset related files to makefile.
+ Added Codeset related files to makefile.
Wed Mar 5 00:01:09 2003 Phil Mesnier <mesnier_p@ociweb.com>
- * TAO_IDL/util/utl_global.cpp (validate_included_idl_files):
+ * TAO_IDL/util/utl_global.cpp (validate_included_idl_files):
Swapped the order of parameters to passed to realpath, which is the
non-windows function used for canonizing a path.
diff --git a/TAO/tao/GIOP_Message_Lite.cpp b/TAO/tao/GIOP_Message_Lite.cpp
index 49d7f732cfb..351108f2feb 100644
--- a/TAO/tao/GIOP_Message_Lite.cpp
+++ b/TAO/tao/GIOP_Message_Lite.cpp
@@ -242,7 +242,17 @@ int
TAO_GIOP_Message_Lite::parse_incoming_messages (ACE_Message_Block &block)
{
// Get the read pointer
- char *buf = block.rd_ptr ();
+ char *rd_ptr = block.rd_ptr ();
+
+ // We dont need to do this sort of copy. But some compilers (read it
+ // as solaris ones) have a problem in deferencing from the
+ // reinterpret_cast pointer of the <rd_ptr>, as the <rd_ptr> can be
+ // on stack. So let us go ahead with this copying...
+ char buf [4];
+ buf[0] = *rd_ptr;
+ buf[1] = *(rd_ptr + 1);
+ buf[2] = *(rd_ptr + 2);
+ buf[3] = *(rd_ptr + 3);
CORBA::ULong x = 0;
#if !defined (ACE_DISABLE_SWAP_ON_READ)
@@ -261,7 +271,7 @@ TAO_GIOP_Message_Lite::parse_incoming_messages (ACE_Message_Block &block)
this->message_size_ = x;
// Get the message type.
- this->message_type_ = buf[TAO_GIOP_LITE_MESSAGE_TYPE_OFFSET];
+ this->message_type_ = rd_ptr[TAO_GIOP_LITE_MESSAGE_TYPE_OFFSET];
return 0;
}