As of version 2.3.0, the new memory management class (XMemory) aligns
memory according to the value returned by
XMLPlatformUtils::alignPointerForNewBlockAllocation. This value is 8 on
Win32 (using MSVC6 - haven't tried with Borland or MSVC7 yet).
In a COM object we're using that uses Xerces-C for its XML parsing we've
been having some problems that I suspect are caused by this alignment: the
debug CRTL that comes with MSVC6 aligns to an offset of 16 bytes and tests
with the alignment set to 16 bytes (using XML_PLATFORM_NEW_BLOCK_ALIGNMENT)
have not reproduced the problem. Hence, I'd like to propose a patch that
sets XML_PLATFORM_NEW_BLOCK_ALIGNMENT to 16 on Windows.
Before I do that, I need to know the following:
* should I patch Win32Defs.hpp or some other file (like, e.g. MVSCPPDefs.hpp)
* would such a patch be acceptable?
The test case used can't be published because the code is proprietary. I should
say that the bug appears random and appears after a very, very long time using
the component with 5 separate concurrent clients, using mostly the DOM parser.
rlc
NB: this does not affect the previous thread that questions the way Xerces
should deal with XML_PLATFORM_NEW_BLOCK_ALIGNMENT < sizeof(void*)
--
Can anyone remember when the times were not hard, and money not scarce?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]