summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Mitz <mitza-oci@users.noreply.github.com>2012-12-17 20:54:40 +0000
committerAdam Mitz <mitza-oci@users.noreply.github.com>2012-12-17 20:54:40 +0000
commit614bf7307eff637b1e6fe8a0f7633d2e2bcd1cea (patch)
treef5b53283068dbcbb1c8d1172f9e9e27d5ffde5b6
parentf7ddf4bd703c70c70f0f09a3def09def6355e8df (diff)
downloadATCD-614bf7307eff637b1e6fe8a0f7633d2e2bcd1cea.tar.gz
ChangeLogTag: Mon Dec 17 20:53:22 UTC 2012 Adam Mitz <mitza@ociweb.com>
-rw-r--r--ACE/ChangeLog6
-rw-r--r--ACE/ace/Message_Queue_Vx.inl12
2 files changed, 17 insertions, 1 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index a6d66e4a5de..99160af4af8 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,9 @@
+Mon Dec 17 20:53:22 UTC 2012 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Message_Queue_Vx.inl:
+
+ Updated for VxWorks 6.9 32-bit kernel mode.
+
Mon Dec 17 18:26:27 UTC 2012 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/Acceptor.cpp:
diff --git a/ACE/ace/Message_Queue_Vx.inl b/ACE/ace/Message_Queue_Vx.inl
index 741b4b8fdda..0712eb99fa4 100644
--- a/ACE/ace/Message_Queue_Vx.inl
+++ b/ACE/ace/Message_Queue_Vx.inl
@@ -11,7 +11,17 @@ ACE_INLINE MSG_Q_ID
ACE_Message_Queue_Vx::msgq (void)
{
// Hijack the tail_ field to store the MSG_Q_ID.
- return static_cast<MSG_Q_ID> (reinterpret_cast<long> (tail_));
+ return static_cast<MSG_Q_ID> (
+#if defined __LP64__ && defined __RTP__
+ // In RTP-mode only MSG_Q_ID is an int; in a 64-bit build the size of MSG_Q_ID
+ // doesn't match the size of a pointer, tail_, so first treat it as 64-bit.
+ reinterpret_cast<long> (tail_)
+#elif defined __RTP__
+ reinterpret_cast<int> (tail_)
+#else
+ tail_
+#endif
+ );
}
#endif /* ACE_VXWORKS */