pcsx2/3rdparty
Silent af6f040202 3rdparty/pthreads4w: Fixup process exit logic. (#3056)
This PR modifies a third party module - I realize normally those should be fixed upstream, but I really doubt pthreads4w would a) consider it a valid bug and b) fix it. To make all my changes easily visible, I wrap them all in #if PCSX2_FIX.

This PR fixes a process exit routine in pthreads. This third party module exploits CRT initialization order to inject their initializer/deinitializer earlier than the others by putting their functions in .CRT$XCU and .CRT$XPU pseudo regions. The problem comes when a module gets build with dynamic CRT (/MD or /MDd), like most of PCSX2 plugins, it doesn't actually use .CRT$XPx regions as terminators, and instead lets dynamic CRT handle them.

This PR corrects this issue by registering the terminator via atexit, so it works with both static and dynamic CRT. This resolves an issue where SPU2-X plugin (and potentially more) leaks TLS handles when unloaded.
2019-08-13 18:32:41 +02:00
..
baseclasses baseclasses: Move from unfree to 3rdparty 2018-04-29 02:19:17 +01:00
freetype 3rdparty:freetype: Use zlib in 3rdparty instead of internal version 2017-03-21 23:21:26 +00:00
GL 3rdpary: import GL/glcorearb.h 2019-02-07 12:34:02 +01:00
libjpeg 3rdparty: Tidy/standardise VS projects 2016-07-19 23:25:12 +01:00
libpng 3rdparty: Tidy/standardise VS projects 2016-07-19 23:25:12 +01:00
opencl 3rdparty: Tidy/standardise VS projects 2016-07-19 23:25:12 +01:00
portaudio 3rdparty:portaudio: Fix module omission in Devel builds 2016-08-08 23:01:28 +01:00
pthreads4w 3rdparty/pthreads4w: Fixup process exit logic. (#3056) 2019-08-13 18:32:41 +02:00
soundtouch 3rdparty:soundtouch: Upgrade SoundTouch lib to 2.1.2. (#2787) 2019-02-02 17:50:38 +01:00
winpcap Introduce end-of-line normalization 2015-08-04 23:52:48 +02:00
wxwidgets3.0 3rdparty:wxwidgets: Cache strings for "Next>" or "Finish" buttons in wxWizard so locale stays consistent throughougt wizard's lifetime (#2664) 2018-10-31 09:57:57 +01:00
xz 3rdparty:xz: Add project and config file 2017-06-03 14:52:01 +02:00
zlib 3rdparty: Update zlib from 1.2.8 to 1.2.11 2017-02-18 15:49:00 +00:00
3rdparty.props 3rdparty: Use SolutionDir instead of SvnRootDir in property sheet 2016-07-19 23:25:12 +01:00
DefaultProjectRootDir.props Introduce end-of-line normalization 2015-08-04 23:52:48 +02:00
svn_readme.txt Introduce end-of-line normalization 2015-08-04 23:52:48 +02:00