dhewm3/neo/sys/win32
Daniel Gibson d5fd0990a1 Win32: Fix deadlocks if Sys_Printf() or Sys_Error() was called in thread
If those functions (e.g. called by common->Printf(), common->Error())
weren't called from the mainthread and win_outputEditString was set to 1,
a deadlock could occur.
Specifically, the async thread (handling sound) was calling
common->Warning() -> Sys_Printf() -> Conbuf_AppendText() which called
SendMessageA() which blocks until the main thread handles the message.
The main thread however was in idSampleDecoderLocal::Decode() trying to
enter CRITICAL_SECTION_ONE, which was held by the async thread
(it's used to synchronize sound handling between main and async thread).

So now if Sys_Printf() (or Sys_Error() which should have the same problem)
is not called by the main thread, the text is buffered and
Conbuf_AppendText() is called for the buffered lines in the next frame
in Win_Frame().
2021-06-20 03:36:39 +02:00
..
rc Fix PDAEditor (editPDAs opens it now), #378 2021-05-09 20:20:18 +02:00
sdk Fix all whitespace errors 2011-12-10 15:35:54 +01:00
SDL_win32_main.c Windows: Don't put stdout.txt and stderr.txt into binary dir 2019-01-07 15:06:59 +01:00
win_input.cpp Recreate s_scantokey_* tables in win_input.cpp to fix MinGW build 2019-06-17 03:50:07 +02:00
win_local.h Make MFC Tools work with MSAA enabled 2021-05-11 00:39:00 +02:00
win_main.cpp Win32: Fix deadlocks if Sys_Printf() or Sys_Error() was called in thread 2021-06-20 03:36:39 +02:00
win_net.cpp Get rid of socks proxy code in win_net.cpp 2012-07-06 01:07:02 +02:00
win_shared.cpp Get rid of memory status functions 2012-01-08 12:24:58 +01:00
win_syscon.cpp Fix freezing of dedicated server window on Windows 2012-11-12 20:18:00 +01:00