<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.4630.0">
<TITLE>All apologize regarding omniORB/omniNotify 64 bit issue </TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Arial">Hi all,</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">To all people that I hassle with mu previous mail on 64/32 bit issue, I apologize!</FONT>
<BR><FONT SIZE=2 FACE="Arial">The issue was on my side…. (shame on me)</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">I can assert the both omniORB-4.0.3 and omniNotify-2.0 works well regarding 64 bits platforms.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">For those who are interrested on 64 bits issue, this is the explanation:</FONT>
<BR><FONT SIZE=2 FACE="Arial">- omniNotify StructuredEvent use Any to store event members.</FONT>
<BR><FONT SIZE=2 FACE="Arial">- I was packing, sender side, a native unsigned long into an Any event member, sending the event, then unpacking, receiver side, the event member to a native unsigned long.</FONT></P>
<P><FONT SIZE=2 FACE="Arial">(my error was to use native type and not wrapped portable CORBA type… Fortunatly my honor is safe since the error was not on my part of code! )</FONT></P>
<P><FONT SIZE=2 FACE="Arial">That works well when both sender/receiver pack/unpack with the same native type size (32<->32 and 64<->64).</FONT>
<BR><FONT SIZE=2 FACE="Arial">But when you mix memory models for example (32<->64) a 32bits sender and a 64bits receiver bit app, packing unsigned long on 32 bit and unpacking unsigned long on 64 bits is wrong!</FONT></P>
<P><FONT SIZE=2 FACE="Arial">(In fact the CORBA::Any >>= operator returns false.)</FONT>
<BR><FONT SIZE=2 FACE="Arial">- An unsigned long is 8 bytes on my both 64 bits systems</FONT>
<BR><FONT SIZE=2 FACE="Arial">- An unsigned long is 4 bytes on all my 32 bits systems</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">That was trivial….</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">So don't forget to use CORBA wrapped type instead of native type with CORBA::Any.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Sorry for all that noise...</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">FredP</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> (</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> <B></B></FONT><B> <FONT FACE="Courier New">Frédéric Prin</FONT></B><FONT SIZE=2 FACE="Courier New"> )</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Senior Software Engineer /</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> S I L V A C O (</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Grenoble REsearch CEnter \</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Tel 04 56 38 10 33 )</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> __________________________/___</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> /__/__/__/__/__/__/__/__/__/__/</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> /__/__/__/__/__/__/__/__/_____/</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> /__/__/__/__/__/__/__/__/__/__/</FONT>
</P>
</BODY>
</HTML>