f



Re: [ace-users] Octet Marshaling/Demarshaling issues

Hi Kobi,

        Thanks for using the PRF.

>> PRF:
>>    TAO VERSION: 1.4.6
>>    ACE VERSION: 5.4.6
>> 
>>    HOST MACHINE and OPERATING SYSTEM:
>>        Linux, FC3, 2.6.10
>> 
>>    DOES THE PROBLEM AFFECT:
>>        EXECUTION? YES
>> 
>>    Summary:
>> It takes 4 bytes to marshal a single Octet. 

Right.

>> However, when marshaling an array of Octet, it takes a single byte
>> for every element in the array. It seems that Octet is an exception
>> comparing the rest of primitive data types.

Yes, that's correct.

>> What is the motivation for that? 

To avoid wasting any more space than necessary when dealing with
sequences/arrays.

>> Is it dictated by an OMG spec?

Yes, definitely.  This type of "optimization" is common.

Take care,

        Doug
-- 
Dr. Douglas C. Schmidt                       Professor and Associate Chair
Electrical Engineering and Computer Science  TEL: (615) 343-8197
Institute for Software Integrated Systems    WEB: www.dre.vanderbilt.edu/~schmidt
Vanderbilt University, Nashville TN, 37203   NET: d.schmidt@vanderbilt.edu

0
Douglas
12/28/2005 6:11:44 PM
comp.soft-sys.ace 20326 articles. 1 followers. marlow.andrew (167) is leader. Post Follow

0 Replies
384 Views

Similar Articles

[PageSpeed] 47

Reply:

Similar Artilces:

Re: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues
Hi Arvind, >> I think you might be seeing a type promotion from octet to long. I >> just checked and ACE_CDR provides a read_octet and write_octet >> methods for reading/writing octets. Right, but Kobi's point (which I believe is correct) is that an octet is *encoded* into 4 bytes. The original motivation for this was to maximize performance on RISC machines, where the alignment was traditionally 32 bit boundaries. Take care, Doug -- Dr. Douglas C. Schmidt Professor and Associate Chair Electrical Engineering and Computer Science TEL: (615) 343-8197 Institute for Software Integrated Systems WEB: www.dre.vanderbilt.edu/~schmidt Vanderbilt University, Nashville TN, 37203 NET: d.schmidt@vanderbilt.edu ...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
Prof Schmidt, > Right, but Kobi's point (which I believe is correct) is that an octet > is *encoded* into 4 bytes. The original motivation for this was to > maximize performance on RISC machines, where the alignment was > traditionally 32 bit boundaries. I don't think there is any alignment or padding required for an octet unlike a long. This is what I see in the ACE_CDR (de) marshaling operations. I think you can encode the octet directly into CDR_Stream occupying 1 byte in size. This can be done (as I understand) by: .. write_octet defined on ACE_OutputCDR or .. using the from_octet helper struct Thanks, Arvind ...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
This is a multi-part message in MIME format. ------=_NextPart_000_0004_01C60C02.CA0D3950 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, So you're saying that the total size of struct bar on the wire is 24 bytes? I could be wrong, but I don't think so - I think it is 12 bytes. Jeff _____ From: Kobi Cohen-Arazi [mailto:kobi.cohenarazi@gmail.com] Sent: Wednesday, December 28, 2005 7:46 PM To: Jeff Parsons Cc: Johnny Willemsen; Krishna, Arvind; tao-users@cs.wustl.edu Subject: Re: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues Hi Jeff, I'm not sure I see the behavior you describes. When marshaling one octet at a time, 4 bytes are marshaled. When marshaling an octet array, one byte per Octet is marshaled. Thanks, Kobi. On 12/28/05, Jeff Parsons <j.parsons@vanderbilt.edu> wrote: Hi, The padding added after marshalin an octet depends on what comes next in the stream. For this struct foo { long one; octet two; long three; }; there will indeed be 4 total bytes used for the octet, since the type that follows it must be aligned to a 4-byte boundary, and we know that the octet marshaling started on a 4-byte boundary because of the previous member. However this is not always the case. For example, struct bar { long one; octet two; octet three; octet four; octet five; long six; }; will use ju...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
Hi Jeff, [....]� struct foo { � long one; � octet two; � long three; }; � > there will indeed be 4 total bytes used for the octet, since the type that follows > it must be aligned to a 4-byte boundary, and we know that the octet marshaling > started on a 4-byte boundary because of the previous member. However this is > not always the case. So if the struct were: struct foo { long one; octet two; } Then will "two" be 1/4 bytes? I think it will be 1 and always 1. It is while marshaling the long that the ACE_CDR's current alignment is checked to add the appropriate padding to get it to a four byte boundary right? Am I right and is that what you are saying? Thanks, Arvind ...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C60C02.4B4663D0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, I'm saying that the question can't be answered until the next basic type is marshaled. The padding is always added just before the next item is marshaled (since the next item determines what size boundary we must align to), but it is logically counted as being part of the previous item, at least the way you are wording the original question. Jeff _____ From: Krishna, Arvind [mailto:arvindkr@qualcomm.com] Sent: Wednesday, December 28, 2005 7:40 PM To: Jeff Parsons; Johnny Willemsen; Kobi Cohen-Arazi; tao-users@cs.wustl.edu Subject: RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues Hi Jeff, [....] struct foo { long one; octet two; long three; }; > there will indeed be 4 total bytes used for the octet, since the type that follows > it must be aligned to a 4-byte boundary, and we know that the octet marshaling > started on a 4-byte boundary because of the previous member. However this is > not always the case. So if the struct were: struct foo { long one; octet two; } Then will "two" be 1/4 bytes? I think it will be 1 and always 1. It is while marshaling the long that the ACE_CDR's current alignment is checked to add the appropriate pad...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
This is a multi-part message in MIME format. ------=_NextPart_000_0006_01C60BE3.C29DC8C0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, The padding added after marshalin an octet depends on what comes next in the stream. For this struct foo { long one; octet two; long three; }; there will indeed be 4 total bytes used for the octet, since the type that follows it must be aligned to a 4-byte boundary, and we know that the octet marshaling started on a 4-byte boundary because of the previous member. However this is not always the case. For example, struct bar { long one; octet two; octet three; octet four; octet five; long six; }; will use just 1 byte for each octet, since by the time we get to 'six', we are already aligned to a 4-byte boundary, so no additional padding is necessary. Jeff _____ From: owner-tao-users@cse.wustl.edu [mailto:owner-tao-users@cse.wustl.edu] On Behalf Of Johnny Willemsen Sent: Wednesday, December 28, 2005 1:08 PM To: Krishna, Arvind; Kobi Cohen-Arazi; tao-users@cs.wustl.edu Subject: RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues Hi, If you marshal a corba sequence of octet then instead of the normal << and >> for each element the methods write_octet_array and read_octet_array on the stream are used, in fact, all corba sequences of basic types to use array metho...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
Hi, If you marshal a corba sequence of octet then instead of the normal << and >> for each element the methods write_octet_array and read_octet_array on the stream are used, in fact, all corba sequences of basic types to use array methods on the cdr stream. If you handle your own cdr streaming you can of course use these methods also. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl > -----Original Message----- > From: owner-ace-users@cse.wustl.edu > [mailto:owner-ace-users@cse.wustl.edu] On Behalf Of Krishna, Arvind > Sent: woensdag 28 december 2005 19:55 > To: Kobi Cohen-Arazi; ace-users@cs.wustl.edu; tao-users@cs.wustl.edu > Subject: [ace-users] RE: [tao-users] Octet > Marshaling/Demarshaling issues > > > Hi Kobi, > > >It takes 4 bytes to marshal a single Octet. However, when > marshaling an > array of Octet, it takes a single byte for >every element in > the array. > It seems that Octet is an exception comparing the rest of > primitive data > types. What is >the motivation for that? Is it dictated by an > OMG spec? > > I think you might be seeing a type promotion from octet to > long. I just > checked and ACE_CDR provides a read_octet and write_octet methods for > reading/writing octets. However, if you use the insertion/extraction > operator t...

[ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues
Hi Kobi, >It takes 4 bytes to marshal a single Octet. However, when marshaling an array of Octet, it takes a single byte for >every element in the array. It seems that Octet is an exception comparing the rest of primitive data types. What is >the motivation for that? Is it dictated by an OMG spec? I think you might be seeing a type promotion from octet to long. I just checked and ACE_CDR provides a read_octet and write_octet methods for reading/writing octets. However, if you use the insertion/extraction operator then octet will be type promoted as ACE_CDR does not provide the appropriate << and >> methods. Is this what you are seeing? HTH, Arvind ...

[ace-users] Re: [ace-bugs] ACE Licensing Issue: ace/CLASSIX
Hi Michael, Thanks for using the PRF. >> ACE VERSION: 5.4 >> >> HOST MACHINE and OPERATING SYSTEM: >> HP rp8400 HP-UX 11iv1 >> >> TARGET MACHINE and OPERATING SYSTEM, if different from HOST: >> COMPILER NAME AND VERSION (AND PATCHLEVEL): >> aCC >> >> CONTENTS OF $ACE_ROOT/ace/config.h: >> >> CONTENTS OF $ACE_ROOT/include/makeinclude/platform_macros.GNU >> (unless >> this isn't used in this case, e.g., with Microsoft Visual C++): >> >> AREA/CLASS/EXAMPLE AFFECTED: >> ace/CLASSIX >> >> DOES THE PROBLEM AFFECT: >> OTHER? (Licensing) >> >> SYNOPSIS: >> Nearly all the files in ace/CLASSIX have a copyright in them >> or a signature from Nokia. Our lawyers are going nuts. >> Example: >> CLASSIX_Dgram_Mcast.cpp: >> // Copyright 1998 Nokia Telecommunications >> >> CLASSIX_OS.h >> // = AUTHOR(S) >> // Nokia Telecommunications >> >> DESCRIPTION: >> How does this affect the ace license? >> >> REPEAT BY: >> >> SAMPLE FIX/WORKAROUND: >> Get the copyrights out of the code, or put special permissions >> into the code. O...

[ace-users] Octet Marshaling/Demarshaling issues
------=_Part_15021_24529527.1135791837771 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi All, PRF: TAO VERSION: 1.4.6 ACE VERSION: 5.4.6 HOST MACHINE and OPERATING SYSTEM: Linux, FC3, 2.6.10 DOES THE PROBLEM AFFECT: EXECUTION? YES Summary: It takes 4 bytes to marshal a single Octet. However, when marshaling an array of Octet, it takes a single byte for every element in the array. It seems that Octet is an exception comparing the rest of primitive data types= .. What is the motivation for that? Is it dictated by an OMG spec? Thanks in advance, Kobi. ------=_Part_15021_24529527.1135791837771 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi All,<br><br>PRF:<br> &nbsp; &nbsp;TAO VERSION: 1.4.6<br> &nbsp; &nbsp;AC= E VERSION: 5.4.6<br><br> &nbsp; &nbsp;HOST MACHINE and OPERATING SYSTEM:<br= > &nbsp; &nbsp; &nbsp; &nbsp;Linux, FC3, 2.6.10<br><br> &nbsp; &nbsp;DOES T= HE PROBLEM AFFECT:<br> &nbsp; &nbsp; &nbsp; &nbsp;EXECUTION? YES<br><br> &n= bsp; &nbsp;Summary: <br>It takes 4 bytes to marshal a single Octet. However, when marshaling an= array of Octet, it takes a single byte for every element in the array. It = seems ...

[ace-bugs] Re: [ace-users] Again ACE compilation issue on HP-UX Itanium
Hi, FYI, Steve Huston tried to apply a change just like your patch before we released x.4.6 but this change breaks all other platforms. This is not the correct patch to fix the problem. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl "Igal Ore" <igal.ore@gmail.com> wrote in message news:<5a3adaee05051900426998d8c8@mail.gmail.com>... i'm not sure if HP-UX diff gives good result bash-3.00$ diff -fcbw ./ /source/ACE/ACE_5.4.4_orig/ACE_wrappers/ace/ Only in ./: .depend.ACE Only in ./: .shobj diff -fcbw .//GNUmakefile /source/ACE/ACE_5.4.4_orig/ACE_wrappers/ace//GNUmakefile *** .//GNUmakefile Thu Apr 7 15:24:13 2005 --- /source/ACE/ACE_5.4.4_orig/ACE_wrappers/ace//GNUmakefile Thu Feb 10 14:16:38 2005 *************** *** 8,14 **** # this file will be lost the next time it is generated. # # MPC Command: ! # ../bin/mwc.pl -include /source/ACE/ACE_5.4.4/ACE_wrappers/ace/../MPC/config -include /source/ACE/ACE_5.4.4/ACE_wrappers/ace/../MPC/templates -feature_file .../bin/MakeProjectCreator/config/default.features -relative ACE_ROOT=/source/ACE/ACE_5.4.4/ACE_wrappers -type gnuace # #------------------------------------------------------------------------- MAKEFILE = GNUmakefile --- 8,14 ---- # this file will be lost the next time it is generated. # # MPC Command: ! # bin/mwc.pl -include /tmp/ACE_wrappers_stage-7271/ACE_wrappers...

Re: Re: [ace-users] Design issue about GUI client with ACE.
Hi, Marek, Thanks very much. But I cannot understand how to combine the active object with Reactor pattern. The subclass::handle_input () receive messages from server, and the subclass::handle_output () should dequeue method from ACE_Activation_Queue. From ACE tutorial, this action (dequeue) will be blocked if the queue is empty. And Reactor pattern warning me that every method cannot be blocked when handle I/O request. Best Regards! ����������������He HongFu ����������������hhf@eisoo.com ��������������������2005-06-06 ======= Original Message on 2005-06-05 22:16:56 ======= >Hi, >He HongFu wrote: > >>ACE VERSION: 5.4 >>Target Platform: Microsoft Windows 2000 or above. >>Compiler: Microsoft Visual C++ 2003 >> >>Our project uses the classic C/S structure to communicate each other. We have decided to use proactor pattern on the server side. But some problems puzzled us when designed the client side. >> >>1. The client should listen message from server. >>2. The client should send message with blocking mode. These message comes from user operation (GUI event). >>3. The client should send message asynchronously. These message comes from the backgroud thread. >> >>Presently, we think the best candidate is the Reactor pattern which provide Half-Sync/Half-Async model(Maybe I'm wrong because I just learn these from its name). But if a message to server comes from GUI event, ...

[ace-bugs] RE: [ace-users] Again ACE compilation issue on HP-UX Itanium #2
Hi, > Our system engineers patched HP-UX itanium machine to level > corresponding to 05.60 compiler version and than problem had > disappeared ; as it was said previous post , upgrading of > compiler had resolved this bugger. Great! > As lesson learned from this , is that our system engineers > and development (that's me) will follow more closely to patch > releases. > > One curious thing , that we haven't figured out how to > download aCC 05.60 binary version from HP-UX web site , so > even now that we certain in fact that system had been patched > , aCC -V still reporting 05.55 version ! I have not seen this in the past. Is then something to report to HP, their compiler output should be correct. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl ...

RE: [ace-bugs] Re: [ace-users] ACE & POSIX
Hey there's a thought. ;-) I like it. Kindly, Graham -----Original Message----- From: owner-ace-bugs@cse.wustl.edu [mailto:owner-ace-bugs@cse.wustl.edu] On Behalf Of Stephen Torri Sent: Monday, June 14, 2004 9:38 PM To: Douglas C. Schmidt Cc: ace-bugs@cs.wustl.edu Subject: Re: [ace-bugs] Re: [ace-users] ACE & POSIX Douglas C. Schmidt wrote: > Hi Folks, > > >>Yes, but it sure would make the ACE libraries smaller and potentially >>easier to maintain. A lot of the OS specific code would go away. ;-) > > > Ah, but there&#...

RE: [ace-users] Re: ACE compilation issue with Fedora Core 4
Hi, This looks like that you are using the x.4 version, please upgrade to x.4.8 and use that. As Doug said, using the PRF form will help us more. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl > >> I tried to compile latest ACE distribution with Fedora > Core 4 platform, > >> I am getting following error: > >> > >> /ACE_wrappers/ace/Unbounded_Set.cpp:105:error:expected class-name > >> before '(' token > >> > >> Can anybody help me with that ? > > No, not really - you aren't giving us enough info. To ensure that we > have proper version/platform/compiler information, please make sure > you fill out the appropriate problem report form (PRF), which is in > > $ACE_ROOT/PROBLEM-REPORT-FORM > $TAO_ROOT/PROBLEM-REPORT-FORM > > or in > > $ACE_ROOT/BUG-REPORT-FORM > $TAO_ROOT/BUG-REPORT-FORM > > in older versions of ACE+TAO. Make sure to include this information > when asking any questions about ACE+TAO since otherwise we have to > "guess" what version/platform/compiler/options you've using, which is > very error-prone and slows down our responsiveness. Therefore, if you > don't use the PRF, it is less likely that someone will answer your > question. > > Thanks, > > Doug >...

Re: Re: [ace-users] Design issue about GUI client with ACE. #2
Hi, >> Thanks very much. But I cannot understand how to combine the active >> object with Reactor pattern. The subclass::handle_input () receive >> messages from server, Right. >> and the subclass::handle_output () should dequeue method from >> ACE_Activation_Queue. From ACE tutorial, this action (dequeue) will >> be blocked if the queue is empty. And Reactor pattern warning me >> that every method cannot be blocked when handle I/O request. Right, don't use subclass:handle_output(). Instead, use the Half-Sync/Half-Asynch pattern (which combines Reactor and Active Object) and perform output in a separate thread - inside the active object. There are examples of how to use this pattern in C++NPv2 <www.cs.wustl.edu/~schmidt/ACE/book2> and POSA2 <www.cs.wustl.edu/~schmidt/POSA/>. Take care, Doug -- Dr. Douglas C. Schmidt Professor and Associate Chair Electrical Engineering and Computer Science TEL: (615) 343-8197 Institute for Software Integrated Systems WEB: www.dre.vanderbilt.edu/~schmidt Vanderbilt University, Nashville TN, 37203 NET: d.schmidt@vanderbilt.edu ...

[ace-bugs] Re: [ace-users] ACE
Hi, Thanks for using the PRF. >> ACE VERSION: 5.4.1 >> >> HP Server and HP-UX 11.1 >> >> aCC: HP ANSI C++ B3910B A.03.37 >> >> CONTENTS OF $ACE_ROOT/ace/config.h : config-hpux-11.00.h >> >> CONTENTS OF $ACE_ROOT/include/makeinclude/platform_macros.GNU : >> platorm_hpux_aCC.GNU >> >> AREA/CLASS/EXAMPLE AFFECTED: >> >> $ACE_ROOT/ace - Compiled successfully but >> >> $ACE_ROOT/ - failed to compile as shown below >> >> Installing gperf -> /home/umit...

RE: [ace-users] Porting issue with ACE.
Hi Bj�rn, > After having been introduced to ACE by a new colleague, we have > started using ACE more and more throughout our applications. Great - welcome to ACE! In the future, please use the PROBLEM-REPORT-FORM when asking questions about ACE. > Recently a problem has arisen during the port of one of our servers from > an NT system to HP-UX. Ok (but much less than having to recode everything, eh? ;-) > The server uses the Reactor and Acceptor/Connector classes to handle > its TCP/IP connections. Two Acceptors are used to accept connections > to ...

Re: [ace-users] ACE Compilation Issues
Hi Varun, >> I am new to the ACE application . I wanted to install >> DIAMETER application on my tru64 unix machine . To ensure that we have proper version/platform/compiler information, please make sure you fill out the appropriate problem report form (PRF), which is in $ACE_ROOT/PROBLEM-REPORT-FORM $TAO_ROOT/PROBLEM-REPORT-FORM or in $ACE_ROOT/BUG-REPORT-FORM $TAO_ROOT/BUG-REPORT-FORM in older versions of ACE+TAO. Make sure to include this information when asking any questions about ACE+TAO since otherwise we have to "guess" what version/platform/compiler/options you've using, which is error-prone and slows down our responsiveness. >> This required ACE n BOOST LIBRARIES. However , while >> compiling the DIAMETER code , i received many ACE >> errors . I rectified some of the hash defines (hope >> ...they don't prove to be fatal in later stages)...the >> errors reduced ...n finally I got >> the following error >> >> cxx: Error: >> /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/iosfwd, line >> 58: #error >> directive: "cannot include iosfwd -- define >> __USE_STD_IOSTREAM to >> override default - see section 7.1.2 of the >> C++ Using Guide" >> #error "cannot include iosfwd -- define >> __USE_STD_IOSTREAM to override default - see section >> 7.1.2 of the C++ Using Guide...

RE: [ace-users] Re: ACE
Hi, When ACE 5.4 was released the MinGW port wasn't really up to date. Upgrade to the latest beta, that will work. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl > -----Original Message----- > From: owner-ace-users@cse.wustl.edu > [mailto:owner-ace-users@cse.wustl.edu] On Behalf Of Douglas C. Schmidt > Sent: woensdag 12 oktober 2005 19:11 > To: silviu_andrica@yahoo.com > Cc: ace-users@cs.wustl.edu > Subject: [ace-users] Re: ACE > > > Hi Silviu, > > > i'm sorry fot bothering you and i know that you get this kind of > > emails all the time, > > Thanks very much for your email. Please make sure to send all > questions related to TAO or ACE to the ACE mailing list or ACE+TAO > newsgroup, rather than to me directly since I travel frequently and > often don't have ready access to email. See > > http://www.cs.wustl.edu/~schmidt/ACE-mail.html > > for more info on how to access these resources. > > > but i have a problem > > with compiling ACE 5.4. I'm trying to compile it using > > MinGW on Windows XP (SP2). > > To ensure that we have proper version/platform/compiler information, > please make sure you fill out the appropriate problem report form > (PRF), which is in > > $ACE_ROOT/PROBLEM-REPORT-FORM > $TAO_ROOT...

Re: [ace-bugs] RE: FW: [ace-users] ACE & POSIX
Hi Graham, >> Having spent most of my time in the murky world of real-time >> embedded systems (for the medical industry) I can tell you this. >> It is quite unlikely that the "old dodgers" (according to your >> definition I would fall into that category) would upgrade their >> version of ACE. If the current (or older) version of ACE works why >> upgrade? That's not been our experience working with scores of companies during the past decade. There are many companies who are stuck using older compiler platforms, but are quite happ...

Re: [ace-users] [BULK] Re: [ace-bugs] [BULK] Re: Calling ACE::init() causes exception on 20th instantiation of a
Thanks to Aleksandar Vukajlovic at finsoft! He got us a bit closer to finding this issue and also came up with some much simpler test code that reproduces the issue (see below). It seems that ACE::fini is not properly cleaning up a thread or some storage. When config.h file is modified to include more thread keys (#define ACE_DEFAULT_THREAD_KEYS 1000), the issue occurs later on. The default value for ACE_DEFAULT_THREAD_KEYS is 64, with this, ACE::init will fail after ~20 iterations, with it increased to 1000, ACE::init fails ~500 iterations. Small program that will reproduce bug without using complex MFC follows from Aleksandar. Many thanks in advance for anyone who can help debug this. - Andrew //Test code #include "ace/OS.h" #include "ace/Log_Msg.h" #ifdef _DEBUG const char* dll_name = "U:\\Temp\\TestACEInit\\DllTest\\Debug\\DllTest.dll"; #else const char* dll_name = "U:\\Temp\\TestACEInit\\DllTest\\Release\\DllTest.dll"; #endif //_DEBUG void doTest () { for (int i = 0; i < 1000; ++i) { HMODULE hm = ::LoadLibrary (dll_name); if (hm == NULL) ACE_DEBUG ((LM_ERROR, "failed to load library, iteration (%d)\n", i)); if (::FreeLibrary (hm) == FALSE) ACE_DEBUG ((LM_ERROR, "failed to free library, iteration (%d)\n", i)); } } int main (int argc, char* argv[]) { doTest (); return 0; } ////////////////////////////////// // DllTest code...

[ace-bugs] Re: [ace-users] ACE Site Down !!!!!!!!
Hi Folks, >> Could you please post the URL's that you think are down? If you are >> takling of the intro online tutorials from Dr. Schmidt's website, >> then I may know the answer. Those tutorials were removed from the >> repository a few days back. BTW, the tutorials were removed for two reasons: .. No one was maintaining them. If you or anyone else would like to volunteer to maintain them we can add them back. .. They have been superceeded by the material from C++NPv[12] and APG, which are described at http://www.cs.wustl.edu/~schm...

[ace-bugs] Re: [ace-users] ACE-warnings
Hi, Thanks for using the PRF form. It seems you are using compiler options we are not using in our builds. What I have done is setup a small ACE build with some extra warnings enabled, see http://www.dre.vanderbilt.edu/scoreboard/integrated.html for the SuSE_92_GCC3.3.4_x86_64_extended_warnings build. It seems some work can be done, if you have patches to improve things, send them to the mailing list (make then bases on 5.4.2, 5.4 is almost a year old) and we can see if we can apply them. Regards, Johnny Willemsen Remedy IT Leeghwaterstraat 25 2811 DT Reeuwijk The Netherlan...

Web resources about - Re: [ace-users] Octet Marshaling/Demarshaling issues - comp.soft-sys.ace

Resources last updated: 3/5/2016 10:55:53 AM