dimanche 3 décembre 2017

How is STL thread-safety going when using "/Zc:threadSafeInit-" in Visual Studio 2015 Update 3?

I'm using vc140_xp toolsets for supporting Windows XP.
Before Vista, there is a known problem which is occured in DLL using implicit TLS.
And, magic statics implementation of VS2015 uses implicit TLS.
Therefore, there is a need to turn off magic statics for developing DLL which supports XP.
For that, "/Zc:threadSafeInit-" is used.

What I'm wondering is that thread-safety of STL when using "/Zc:threadSafeInit-".
What I thought is that if in STL there is a code which uses static object in a function, the code may be thread-unsafe.
But, it is just my thought. And I can't find the exact description for that.

How is STL thread-safety going when using /Zc:threadSafeInit- in Visual Studio 2015 Update 3?
Can originally thread-safe feature of STL be going to be thread-unsafe if using /Zc:threadSafeInit- ?
If yes, is there no way for supporting XP and keeping thread-safety of STL, both?

Aucun commentaire:

Enregistrer un commentaire