Eric Pouech
9b802a3d56
msvcr: Build without -DWINE_NO_LONG_TYPES.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Eric Pouech
800971f934
msvcrt: Add cast to avoid 'long' types warning in _beginthreadex.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 21:06:02 +01:00
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
Arkadiusz Hiler
7435ca8545
msvcrt: Make UCRT _beginthread[ex]() hold the DLL reference.
...
MSVCRT's _beginthread[ex]() doesn't exhibit the same behavior and using
ThreadExit() does leak the reference.
FreeLibraryAndExit() has to be used because the DLL may be the only user
of the given CRT.
This fixes Baldur's Gate 3 crashing shortly after launch.
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-05-05 21:52:23 +02:00
Arkadiusz Hiler
9e2fb411db
msvcrt: Use trampoline for _beginthreadex().
...
This way we can call _endthreadex() at the end as stated in the documentation.
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-05-05 21:52:23 +02:00
Arkadiusz Hiler
80678c4395
msvcrt: Make _beginthread() error out as documented.
...
msvcrt_set_errno() seems to be doing the right thing in case of too many
threads, invalid parameters, etc.
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-05-05 21:52:23 +02:00
Arkadiusz Hiler
a4af8bb050
msvcrt: Remove return after _endthread().
...
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-05-04 21:33:15 +02:00
Piotr Caban
d784dbb899
msvcrt: Remove MSVCRT_ prefix from heap.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:00:31 +01:00
Piotr Caban
eeada5682b
msvcrt: Remove MSVCRT_ prefix from errno.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:00:25 +01:00
Piotr Caban
1317b935ef
msvcrt: Use errno values from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Piotr Caban
fbc9110d23
msvcrt: Use _beginthread_start_routine_t from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Alexandre Julliard
0edef50dfa
msvcrt: Use the public standard type definitions where possible in msvcrt.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 19:01:04 +01:00
Rémi Bernon
a24ad51e3f
msvcrt: Make locale and thread helper functions CDECL.
...
This prevent callers from having to save SSE registers to the stack.
It is for instance the case in MSVCRT__towlower_l, which is called on
every character by MSVCRT__wcsicmp_l.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Alex Henrie
6413d96b6b
msvcrt: Don't include MSVC 7.0+ miscellaneous functions in SOs for older DLLs.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 22:47:23 +01:00
Paul Gofman
faf59e5f06
msvcrt: Handle of thread created by _beginthread should not be closed on thread detach.
...
Handle should be closed if _endthread is called or thread function
exits. If thread is terminated by ExitThread or _endthreadex, thread
handle remains valid.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:41:22 +09:00
Alexandre Julliard
0c496f0280
msvcrt: Update comments for non-exported functions.
2014-04-21 14:32:40 +02:00
Piotr Caban
e5f68408ed
msvcrt: Avoid deadlock when _beginthread is executed inside loader critical section.
2011-06-20 19:32:02 +02:00
Piotr Caban
6e777041b2
msvcrt: Added _getptd implementation.
2011-05-25 11:46:37 +02:00
Piotr Caban
e15ac98cbc
msvcrt: Change the way locale information is stored in __thread_data.
2011-05-25 11:46:07 +02:00
Piotr Caban
2bcc9d452a
msvcrt: Close thread handle when _beginthread is used.
2011-05-25 11:44:28 +02:00
Andrew Talbot
a69418c52c
msvcrt: Remove unneeded casts.
2008-01-14 13:09:56 +01:00
Alexandre Julliard
24beabfd4e
msvcrt: Explicitly specify CDECL calling convention on exported functions.
2006-06-13 11:40:23 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
ad8cb6133e
msvcrt: Reimplement rand() and srand() to use per-thread data for the
...
random seed.
2006-01-14 17:27:28 +01:00
Kevin Koltzau
935dea2fb4
Fix warnings and errors in 64bit.
2005-11-03 13:17:51 +00:00
Dimitrie O. Paun
0377462460
Split the MSVCRT implementation headers from the public headers.
...
Fix some naming conventions aberrations.
Add tests to ensure consistency between the two sets of symbols.
2004-06-25 01:19:15 +00:00
Michael Stefaniuc
789b4b4204
Compile the msvcrt dll with -DSTRICT.
2002-10-25 03:12:01 +00:00
Alexandre Julliard
14b75f9878
Added definition of msvcrt internal error codes.
2002-07-20 20:30:57 +00:00
Alexandre Julliard
44b4235af2
Fixed per-thread data handling.
...
Made terminate and unexpected function pointer per-thread.
Added set_se_translator.
2002-07-19 03:24:50 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard
bd1689ec0a
Don't include debugtools.h in the header file, moved it to the C files
...
that need it (and used the new wine/debug.h while we are at it).
2002-01-22 00:57:16 +00:00
Francois Gouget
aacc7e3756
_beginthread: Don't store the trampoline on the stack.
2001-10-08 20:32:41 +00:00
Patrik Stridvall
887c035be1
- Added, cleaned up and/or documentated _{begin,end}thread{,ex}.
...
- _lfind and _ltow are implemented (not stubs).
2001-06-19 03:46:27 +00:00
Francois Gouget
e7f75c5dfb
Include the msvcrt headers, remove duplicate definitions.
...
Fixed the signature of a few functions.
Don't use wcs* functions, use *W (from unicode.h) instead.
2001-04-10 23:25:25 +00:00
Francois Gouget
203a8f8290
Adjust the 'MSVCRT_' prefix to match the msvcrt headers
...
Prefix internal methods with 'msvcrt_' instead of 'MSVCRT_', '__MSVCRT_', etc.
Remove '_cdecl', it's unnecessary
2001-04-10 21:16:07 +00:00
Jon Griffiths
34c786b2db
- New msvcrt unicode functions, winapi_check/-Wall/-W clean.
...
- Forward to ntdll where possible.
- Fix some .spec entries with incorrect parameters.
2001-01-22 02:21:54 +00:00
Jon Griffiths
1db20bfd33
- Migrate CRTDLL to MSVCRT.
...
- Many fixes and a load of new functions.
2001-01-10 23:59:25 +00:00