Roger Leigh created XERCESC-2099:
------------------------------------
Summary: Support Standard C++ mutex
Key: XERCESC-2099
URL: https://issues.apache.org/jira/browse/XERCESC-2099
Project: Xerces-C++
Issue Type: Bug
Components: Utilities
Affects Versions: 3.2.0
Environment: Any supported platform
Reporter: Roger Leigh
Attachments: 0001-StdMutexMgr-Add-C-11-mutex-manager.patch
Xerces-C currently supports POSIX and Win32 threading models with dedicated
mutex manager classes. C++ standards since C\+\+11 support native mutexes
which will work on any supported platform.
The attached patch adds a {{StdMutexMgr}} class and the necessary Autoconf and
CMake logic to check if C\+\+ mutexes are available. If not, it will fall back
to the existing managers.
On all but the most current compilers, it will continue to use POSIX/Win32
managers. On the most recent compilers, which default to C\+\+14, the standard
mutexes will be used. On older compilers, the user must explicitly enable by
setting {{CXXFLAGS=-std=c++11}} or later.
See
- [travis|https://travis-ci.org/rleigh-codelibre/xerces-c/builds/241340724]
-
[appveyor|https://ci.appveyor.com/project/rleigh-codelibre/xerces-c/build/1.0.88]
for build and test results. You'll see that GCC on Linux is using POSIX mutex,
while clang on MacOS X is using standard mutex. On Windows, Cygwin uses POSIX
mutex while MinGW and MSVC uses standard mutex.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]