Details
Description
In my application, I use alternate implementations of ::new and its ilk. Up to
version 2.3 this provided to be a non-issue because Xerces didn't allocate any
memory until after XMLPLatformUtils::Initialize was called. Starting with
version 2.4, the constructor of XMLMutex seems to allocate memory and this class
is used by LinuxPlatformUtils in a static instance (atomicOpsMutex). This means
that users of Xerces can no longer determine when Xerces will allocate its first
memory (since the order of static initialization is "unspecified").
Consequently, I find it necessary to modify the code in
util/Platforms/Linux/LinuxPlatformUtils.cpp to change atomicOpsMutex to be a
pointer that is allocated in LinuxPlatformUtils::platformInit.