pcsx2/common/include/Utilities
Jonathan Li 79d019b5bb utilities: Don't use TLS buffers in FastFormatString classes (#1430)
The TLS buffers used by the FastFormatUnicode and FastFormatAscii
classes seem to be responsible for PCSX2 not terminating properly on
Windows under certain conditions (using MTVU before commit
1111e03901, using CDVDgigaherz without a
disc, possibly other conditions).

When PCSX2 shut downs and the FastFormatBuffers are being cleaned up,
the call to pthread_key_delete() would end up calling
WaitForSingleObject(e, INFINITE) and waiting indefinitely for an event
to trigger. It never does get triggered (for reasons unknown) and
therefore PCSX2 doesn't terminate properly.

Remove the usage of TLS buffers in the FastFormatString classes - it
fixes the termination issue on Windows and doesn't seem to have much
effect on performance.
2016-06-29 13:13:51 +01:00
..
AppTrait.h utilities: Remove wx2.8 code and uses of wxMAJOR_VERSION 2016-04-29 00:09:47 +01:00
Assertions.h utilities: Remove wx2.8 code and uses of wxMAJOR_VERSION 2016-04-29 00:09:47 +01:00
CheckedStaticBox.h UI: 2010-06-24 20:30:36 +00:00
Console.h common:freebsd: Fix compilation 2016-05-20 22:32:41 +01:00
Dependencies.h utilities: always include wx/crt.h on Linux 2016-04-23 13:57:47 +01:00
EmbeddedImage.h OnePad : New GUI based on gwWidget 2016-02-14 17:26:31 +01:00
EventSource.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
EventSource.inl Refactoring: 2010-08-09 04:10:38 +00:00
Exceptions.h Use unique_ptr instead of ScopedPtr for exceptions 2016-02-08 22:31:45 +00:00
FixedPointTypes.h wxIsoFile: And a couple more compiler fixes. 2010-10-18 16:09:00 +00:00
FixedPointTypes.inl FixedInt - round instead of truncate on construction 2015-09-17 00:30:08 +03:00
General.h Common: port code to std::atomic 2016-02-28 15:29:31 +01:00
HashMap.h Use posix_memalign and _aligned_malloc for alignment. Remove unused code. 2014-08-17 21:03:43 +10:00
IniInterface.h Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
MathUtils.h Rename Utilities/Math.h to Utilities/MathUtils.h 2015-08-09 22:41:18 +01:00
MemcpyFast.h Darwin/OSX SysMessage stub & __POSIX__ define. 2015-11-30 12:18:44 +02:00
MemsetFast.inl Remove some horrible old code. 2014-08-13 13:55:32 +10:00
PageFaultSource.h Darwin/OSX SysMessage stub & __POSIX__ define. 2015-11-30 12:18:44 +02:00
Path.h Portable mode: now allows fully custom folders, but still allows relocation of pcsx2 folder without breaking (install mode unmodified). 2011-03-29 17:41:11 +00:00
Perf.h profiler: add functions to plug linux Perf Event on JIT 2016-01-10 13:42:59 +01:00
PersistentThread.h Common: port code to std::atomic 2016-02-28 15:29:31 +01:00
RedtapeWindows.h windows: Set _WIN32_WINNT to 0x0600 (Windows Vista) 2016-03-13 13:41:16 +00:00
RwMutex.h Fixed inconsistent newlines / added as many svn:eol-style=native properties as I could without killing myself. 2011-03-25 05:06:49 +00:00
SafeArray.h pcsx2/common: fix tons of warning spamming on clang 2014-07-05 00:08:48 +02:00
SafeArray.inl linux: Fix _aligned_realloc implementation 2015-09-13 21:05:33 +01:00
ScopedAlloc.h linux: Fix _aligned_realloc implementation 2015-09-13 21:05:33 +01:00
ScopedPtrMT.h common: port ScopedPtrMT to std::atomic 2016-02-28 15:29:00 +01:00
StringHelpers.h utilities: Don't use TLS buffers in FastFormatString classes (#1430) 2016-06-29 13:13:51 +01:00
Threading.h Common: delete most of the deprecated atomic API 2016-02-28 15:29:31 +01:00
ThreadingDialogs.h utilities: Use Bind compatible event declarations/definitions 2016-06-16 23:49:34 +01:00
TlsVariable.inl Introducing a mostly revamped Tracelog and Console log system. Various console log sources can now be toggled on/off on the fly, allowing end users to enable more verbose logging when they encounter problems. Both console and trace sources can be given automatic prefixing. 2010-08-06 05:46:09 +00:00
TraceLog.h utilities: Remove wx2.8 code and uses of wxMAJOR_VERSION 2016-04-29 00:09:47 +01:00
lnx_memzero.h memset-linux: use std memset for memset_8 2015-10-28 14:25:12 +01:00
pxCheckBox.h pcsx2: remove template and pointer on overload function from wxGuiTools 2014-07-18 19:20:53 +02:00
pxEvents.h utilities: Use Bind instead of Connect 2016-06-17 00:03:58 +01:00
pxForwardDefs.h Fixed inconsistent newlines / added as many svn:eol-style=native properties as I could without killing myself. 2011-03-25 05:06:49 +00:00
pxRadioPanel.h UI: Switched from the old 'native' text labels to a new custom draw text label that should (hopefully!) be a lot better about positioning and wrapping text, and fitting to windows and what-not. Also gets rid of my nasty "ideal width" hack I originally used to fix-size some of the dialogs. 2010-06-04 08:00:19 +00:00
pxStaticText.h pcsx2: remove template and pointer on overload function from wxGuiTools 2014-07-18 19:20:53 +02:00
pxStreams.h utilities: Convert ScopedPtr to unique_ptr 2016-02-08 22:31:45 +00:00
win_memzero.h utilities:windows: Use standard memset for memset_8 2015-11-29 11:46:59 +00:00
wxAppWithHelpers.h utilities: Use Bind compatible event declarations/definitions 2016-06-16 23:49:34 +01:00
wxBaseTools.h Converted the GameDB to use wxWidgets classes. 2010-06-09 17:37:11 +00:00
wxGuiTools.h utilities: Use Bind compatible event declarations/definitions 2016-06-16 23:49:34 +01:00