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: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org