Commit Graph

48 Commits

Author SHA1 Message Date
Martin Storsjo 91ed0d7963 msvcrt: Don't lock the heap in operator_new.
The native msvcrt/msvcp allow two threads to be calling
the new handler simultaneously.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 23:10:06 +09:00
Martin Storsjo e66758dd53 msvcrt: Pass on the return value in _callnewh.
Also try to avoid race conditions by storing the new handler in a local
variable before checking whether it's non-null.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 23:10:06 +09:00
Piotr Caban 43be238331 msvcr80: Throw bad_alloc exception when operator new fails. 2014-09-02 20:54:47 +02:00
Piotr Caban 608605c7dc msvcrt: Allocate data with 16-bytes alignement if small blocks heap is used. 2014-06-18 19:54:27 +02:00
Piotr Caban d48314c8a5 msvcrt: Don't use default process heap. 2014-04-22 14:46:43 +02:00
Piotr Caban beeea28a53 msvcr100: Move functions implementation to msvcrt. 2014-04-16 18:00:15 +02:00
Piotr Caban e70bf5f8c6 msvcrt: Fix compilation errors on Mingw. 2014-04-16 18:00:01 +02:00
Piotr Caban 4716cd37ee msvcrt: Fixed debug message in strncpy_s. 2013-04-05 20:39:07 +02:00
Piotr Caban 7771552f24 msvcrt: Don't fail when _aligned_offset_malloc is used with size=0. 2012-12-19 14:38:58 +01:00
Piotr Caban bdf9a9f9bd msvcrt: Fixed strncpy_s behavior when count equals 0. 2012-09-07 19:15:29 +02:00
Dan Kegel 4956045842 msvcrt: memmove_s shouldn't zero its output buffer on error. 2012-08-17 14:03:15 +02:00
Alexandre Julliard 06989a0483 msvcrt: Make sure that errno is always set when calling the invalid parameter handler. 2012-07-26 11:05:32 +02:00
Piotr Caban 45dc6c0e22 msvcrt: Improve operator new implementation. 2011-09-13 11:27:45 +02:00
Eric Pouech c10a6d74d5 msvcrt: Use the parameter checking macros for strncpy_s. 2010-11-01 12:34:46 +01:00
Alexander Scott-Johns 2663079c60 msvcrt: Rename _TRUNCATE to MSVCRT__TRUNCATE. 2010-06-07 13:51:34 +02:00
Marcus Meissner f10af18f28 msvcrt: Add some missing CDECL. 2010-05-13 11:51:00 +02:00
Piotr Caban 776998866a msvcrt: Added _get_heap_handle implementation. 2010-04-21 11:07:46 +02:00
Piotr Caban 23d0369d9d msvcrt: Added strncpy_s implementation. 2010-04-21 11:07:45 +02:00
Alexandre Julliard 300978283a msvcrt: Implement the missing exception constructor functions. 2010-04-13 17:19:27 +02:00
Piotr Caban 8fc18b6b48 msvcrt: Added memmove_s and memcpy_s implementation. 2010-04-12 17:48:21 +02:00
Alexandre Julliard d8ab5a14aa msvcrt: Use intptr_t or size_t instead of long where appropriate. 2008-12-12 10:19:55 +01:00
Alexandre Julliard d66b9f7e48 msvcrt: Use the correct msvcrt defines for errno values. 2008-02-27 14:52:25 +01:00
Alexandre Julliard a470afca6c msvcrt: Fix incorrect uses of msvcrt_set_errno. 2008-02-27 14:52:25 +01:00
Gerald Pfeifer a030777f74 msvcrt: Fix error handling in _aligned_offset_realloc(). 2007-12-04 18:41:36 +01:00
Lionel Debroux 3e9fbd89d2 msvcrt: Fix _Aligned_offset_realloc (move correct block of memory); add a comment to explain why. 2007-11-28 13:52:07 +01:00
Alexandre Julliard 7f1db3a3e4 msvcrt: Use the correct size_t type. 2007-08-08 15:32:04 +02:00
Robert Reif fc77a467cd msvcrt: Add _aligned_malloc functions. 2007-07-31 20:32:52 +02:00
Alexandre Julliard 00c81e9d9f msvcrt: Fixed errno setting in malloc, HeapAlloc doesn't set last error. 2007-07-27 12:18:15 +02:00
Markus Amsler 9fb58434cb msvcrt: Speed up new operator. 2006-10-23 14:39:07 +02: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
Vijay Kiran Kamuju 07b53de0b2 Implementation of _get_sbh_threshold and _set_sbh_threshold
functions.
2005-09-23 10:07:05 +00:00
Vijay Kiran Kamuju 8c2ba6f93c Added __p__amblksiz implementation. 2005-09-19 14:41:25 +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
Dimitrie O. Paun c5150fb682 Fix realloc() to match the documented behaviour.
Add a few simple tests for it.
2003-11-20 23:41:13 +00:00
Martin Wilck 94638aa276 MSVCRT needs a public errno.h file. 2002-09-17 18:32:53 +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
Uwe Bonnes d389c4bad4 MSVCRT_operator_new: Call handler only when "new" operation fails. 2002-07-05 00:18:08 +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
Peter Hunnisett d1a79ea2eb Add _lock,_unlock and header file for them.
Convert all msvcrt locks over to use _lock and _unlock.
Explicitly make msvcrt compile with multithreaded option.
Fix flag handling in _sopen. Add W->A call for new _swopen.
2002-02-21 20:22:00 +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
Alexandre Julliard 4f07f05716 Authors: Jon Griffiths <jon_p_griffiths@yahoo.com>, François Gouget <fgouget@codeweavers.com>
Add RTTI support.
Fix what_exception prototype.
Fix new_handler_func prototype.
Add set_new_handler, _callnewh, _heapadd.
Add stubs for __unDName and __unDNameEx.
Added a semi-stub for __CxxFrameHandler.
2001-12-21 20:27:39 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Francois Gouget b29120d2c4 Add msvcrt/malloc.h (for the MFC).
Add msvcrt/search.h.
Move duplicated definitions to the new headers.
Use malloc.h instead of stdlib.h when sensible.
2001-04-23 18:20:55 +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