Addresses #928, #389, and 1st item in #976. Overlaps #916. This had been dropped, when moving away from the old Win32 DLL model. Issue: per-thread tear down for other threads.
@@ -148,8 +148,6 @@ bool DetachProcess()
if (ThreadInitializeIndex == OS_INVALID_TLS_INDEX)
return true;
- ShFinalize();
-
success = DetachThread();
FreePoolIndex();
@@ -1299,7 +1299,7 @@ int __fastcall ShFinalize()
glslang::HlslScanContext::deleteKeywordMap();
#endif
- return 1;
+ return DetachProcess() ? 1 : 0;
}
//