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]

Reply via email to