Andreas Kleber commented on XERCESC-2165:

Thanks for your feedback. I will try to post similar notices to ACE and 
OpenDDS, as you are right that the problem comes from how Xerces-C++ is used 
and not by itself. Also I tend to suspect a problem in VS2013's runtime, 
however I currently do not have the time to further investigate this issue by 
using msvcr120d symbols. I actually did never try using them before....

> 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
>            Priority: Minor
>         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

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