Sweden-Number/dlls/msvcrt
Arkadiusz Hiler 04bb9112d2 msvcrt: Increase module's reference count before returning from _beginthread[ex]().
Increasing DLL's reference count from the trampoline function makes it
prone to race conditions. The thread can start executing after we have
already returned from _beginthread[ex]() and the DLL might have been
freed.

Fixes rare crash on launch with Baldur's Gate 3.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 20:40:09 +01:00
..
tests msvcrt: Better handle multiple width specifiers. 2021-11-08 17:33:56 +01:00
Makefile.in makefiles: Make -mno-cygwin the default. 2021-09-20 22:45:48 +02:00
bnum.h
concurrency.c msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00
console.c msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00
cpp.c msvcrt: Fix _CxxThrowException prototype. 2021-08-27 20:25:05 +02:00
cppexcept.h msvcrt: Fix _CxxThrowException prototype. 2021-08-27 20:25:05 +02:00
crt_gccmain.c
crt_main.c
crt_winmain.c
crt_wmain.c
crt_wwinmain.c
ctype.c ucrtbase: Change _isblank_l return value for '\t'. 2021-10-18 16:02:03 +02:00
cxx.h msvcrt: Add macro that defines type_info vtable. 2021-08-18 18:43:44 +02:00
data.c
dir.c
environ.c
errno.c
except.c ucrtbase: Avoid bool optimization in __std_exception_copy. 2021-10-18 16:02:25 +02:00
except_arm.c
except_arm64.c
except_i386.c
except_x86_64.c
exit.c
file.c msvcrt: Fix clearing NOINHERIT flag in _dup2. 2021-10-25 18:53:10 +02:00
heap.c msvcrt: Simplify throw_exception helper. 2021-08-20 19:03:33 +02:00
iob.c
locale.c msvcrt: Remove CDECL on static functions where not needed. 2021-09-06 14:52:51 +02:00
lock.c msvcrt: Move lock Concurrency functions to concurrency.c. 2021-08-18 18:43:59 +02:00
main.c msvcrt: Rename scheduler.c file to concurrency.c. 2021-08-18 18:43:50 +02:00
math.c msvcrt: Move _fdclass/_dclass to avoid forward references. 2021-10-15 18:28:00 +02:00
mathf.c
mbcs.c
misc.c msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00
msvcrt.h msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00
msvcrt.spec msvcrt: Rename exception::what() implementation to exception_what. 2021-08-20 19:00:27 +02:00
mtdll.h
onexit.c
printf.h msvcrt: Better handle multiple width specifiers. 2021-11-08 17:33:56 +01:00
process.c msvcrt: Rewrite _popen function. 2021-10-25 18:53:19 +02:00
rsrc.rc
scanf.c msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00
scanf.h msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00
sincos.c
string.c msvcrt: Write memory forward in memset. 2021-10-25 21:16:29 +02:00
thread.c msvcrt: Increase module's reference count before returning from _beginthread[ex](). 2021-11-08 20:40:09 +01:00
time.c msvcrt: Don't use GetDaylightFlag function in _ftime64. 2021-11-01 20:45:32 +01:00
undname.c include: Use the standard va_list instead of __ms_va_list when building with msvcrt. 2021-10-15 18:28:01 +02:00
wcs.c msvcrt: Use the standard va_list instead of __ms_va_list. 2021-10-22 11:12:09 +02:00