Chuck Rolke created QPID-7926:
---------------------------------
Summary: [c++ broker] Windows PODMutex is not a POD
Key: QPID-7926
URL: https://issues.apache.org/jira/browse/QPID-7926
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: qpid-cpp-1.36.0
Environment: Windows Server 2012 R2, Visual Studio 2012, x64 build
Today's master branch
Reporter: Chuck Rolke
{noformat}
1>------ Build started: Project: qpidcommon, Configuration: Debug x64 ------
1> Logger.cpp
1>D:\Users\crolke\git\qpid-cpp\src\qpid\log\Logger.cpp(48): error C2440:
'initializing' : cannot convert from 'int' to 'qpid::sys::PODMutex'
1> No constructor could take the source type, or constructor overload
resolution was ambiguous
{noformat}
The issue is with the definition of QPID_MUTEX_INITIALIZER.
In Linux it is defined as PTHREAD_MUTEX_INITIALIZER which is a complex
structure initializer.
In Windows it is a naked 0.
In a stand-alone windows program
{noformat}
std::is_pod<PODMutex>::value
{noformat}
returns false. In Linux the same statement in qpidd broker returns true.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]