Andreas Kleber created XERCESC-2165:
---------------------------------------

             Summary: StdMutexMgr not working properly on VS2013 / Windows 7
                 Key: XERCESC-2165
                 URL: https://issues.apache.org/jira/browse/XERCESC-2165
             Project: Xerces-C++
          Issue Type: Bug
          Components: Utilities
    Affects Versions: 3.2.2
            Reporter: Andreas Kleber
         Attachments: xerces-hang.png

I am building a dynamic library which statically links OpenDSS, which 
statically links ACE which statically links xerces-c with Visual Studio 2013.
When I run my application on Windows 7 the loading of my dll hands during 
static initialization in StdMutexManager::lock(). See attached screenshot.
On windows 10 the same binaries work as expected.

I am building xerces 3.2.2 with default parameters as static library with 
VS2013. During my investigation I found that xerces 3.2.1 works as well as
specifying the WindowsMutexMgr during configure, because, well, StdMutexMgr was 
introduced in 3.2.2. Btw, this introduction of a new default Mutex Manager (at 
least default in my environment) is not mentioned in the release notes. Whould 
have helped me a lot....

In my environment all test pass on Windows 7 with StdMutexMgr. 
Additional note: 
[Microsoft|[https://docs.microsoft.com/en-us/windows/desktop/dlls/dynamic-link-library-best-practices]]
 recommends not to acquire syncronization during dllmain.

As Windows 7 and VS 2013 are old and a workaround exists, this issue here is 
intended as "known issue".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org

Reply via email to