Commit Graph

57 Commits

Author SHA1 Message Date
Dmitry Timoshkov 7def0f200f ntdll: Don't allow blocking on a critical section during process termination.
As a result HeapLock() no longer blocks process termination since underlying
implementation uses a critical section. However this should be considered as
a minor side effect because applications shouldn't depend on this behaviour.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Jacek Caban 14206495e3 ntdll: Don't modify LockCount in RtlLeaveCriticalSection if section is not acquired.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 16:33:36 +01:00
Sebastian Lackner 7c46763ea7 ntdll: Implement RtlIsCriticalSectionLocked[ByThread].
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:47:34 +09:00
Daniel Lehman 27b3a5cce4 ntdll: Use the configured CriticalSection timeout in RtlpWaitForCriticalSection. 2014-09-11 19:30:42 +02:00
Alexandre Julliard a56ffb6326 ntdll: Rename NTDLL_wait_for_multiple_objects to server_select since it's more generic now. 2013-08-26 20:36:22 +02:00
Alexandre Julliard 947e337480 server: Make signal and wait a separate select operation. 2013-08-26 20:34:28 +02:00
Alexandre Julliard cbdc0ec72d ntdll: Pass a select operation structure to NTDLL_wait_for_multiple_objects. 2013-08-26 20:32:19 +02:00
Alexandre Julliard 606c88a348 ntdll: Use the __NR_ names for Linux system calls. 2013-01-21 21:37:02 +01:00
Maarten Lankhorst 57493fdd8c ntdll: Use FUTEX_PRIVATE_FLAG for critical section futexes when available. 2011-08-04 09:03:57 +02:00
Alexandre Julliard 264996a75d ntdll: Use the futex system calls on all Linux platforms. 2010-12-27 12:01:52 +01:00
Maarten Lankhorst e8c5e2b890 ntdll: Use syscall instead of int $0x80. 2010-07-22 10:24:48 +02:00
Jon Griffiths 1ad733e4e0 ntdll: Implement [Rtl]InitializeCriticalSectionEx. 2008-06-23 14:04:24 +02:00
Andrew Talbot 00981b580a ntdll: Remove unneeded casts. 2008-01-14 13:10:00 +01:00
Andrew Talbot 1ebe82af65 ntdll: Remove unneeded casts. 2007-12-31 16:45:22 +01:00
Dmitry Timoshkov e142779b09 ntdll: Fix compilation warnings in 64-bit mode. 2007-05-23 13:10:20 +02:00
Andrew Talbot 0108667754 ntdll: Replace inline static with static inline. 2007-03-17 20:03:57 +01:00
Alexandre Julliard 443a5dbd80 ntdll: Make sure that critical section waits are not interrupted. 2007-01-10 21:53:39 +01:00
Hans Leidekker f7b0ba7aa7 ntdll: Win64 printf format warning fixes. 2006-10-18 12:35:26 +02:00
Alexandre Julliard 27c6c83e1e ntdll: Faster critical sections on MacOS using Mach semaphores. 2006-06-27 20:14:13 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard a5e59421f5 Use Linux futexes instead of semaphores if possible for critical
section waits.
2005-09-28 18:21:48 +00:00
Alexandre Julliard 43c6396e94 Use int instead of long in interlocked_* functions for 64-bit
compatibility.
2005-09-26 13:51:58 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Alexandre Julliard 5e787ba521 Hack to make the main heap critical section have a proper debug info
structure.
2005-08-03 16:03:15 +00:00
Alexandre Julliard 1ca3de36e8 Ignore high bit of spin count. 2005-07-13 11:38:08 +00:00
Mike McCormack 91b398c3aa - use STATUS_TIMEOUT instead of WAIT_TIMEOUT
- add RTL_ to one more CRITICAL_SECTION_DEBUG
2005-06-25 18:31:29 +00:00
Mike McCormack 04f9f1b066 Don't include winbase.h or winerror.h when not necessary. 2005-06-21 09:52:40 +00:00
Mike McCormack 5b2d5fd758 Use HANDLE instead of HKEY in the NT API. 2005-06-17 13:58:33 +00:00
Dmitry Timoshkov 0497af09a7 Match RaiseException and EXCEPTION_RECORD to SDK definitions. 2005-02-24 13:15:36 +00:00
Robert Shearman 54de69940a Improve documentation for critical sections. 2004-09-06 20:26:23 +00:00
Alexandre Julliard 2ed053b5a0 Take spin count into account in RtlEnterCriticalSection. 2004-06-17 23:11:08 +00:00
Alexandre Julliard cc461324da Store the number of processors in the PEB structure.
More correct support for setting critical section spin counts (based
on a patch by Robert Shearman).
2004-06-15 00:52:03 +00:00
Alexandre Julliard fe8ead56a8 Get rid of ntdll_get_process_heap and ntdll_get_process_pmts by using
standard APIs instead.
2004-03-12 01:59:35 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 52b9cedb8e Don't try to allocate the debug info before the process heap exists. 2003-08-13 01:09:45 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Mike Hearn 25b4d10138 Add the ID of the blocking thread to the error message. 2003-06-16 19:36:22 +00:00
Alexandre Julliard 56b5e0862c Remove the Wine-specific EXCEPTION_CRITICAL_SECTION_WAIT define. 2003-04-04 19:41:31 +00:00
Eric Pouech 14d04b608c No longer call WaitFor*Object* from ntdll (but NtWait*Object*). 2003-04-03 23:57:11 +00:00
Jon Griffiths cd4234aa49 Documentation updates. 2003-03-18 18:35:48 +00:00
Alexandre Julliard ac13d2f47e Print thread ids in traces with only 4 digits now that they are small
integers.
2003-02-18 23:29:47 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Alexandre Julliard 69d7cb5681 Avoid calling some kernel functions. 2002-09-18 23:13:35 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Dmitry Timoshkov 9447958bc1 Throw exception only for Wine internal locks. 2002-08-13 18:09:22 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Francois Gouget 3009185c0a Dump thread id instead of %fs. 2002-05-20 18:00:46 +00:00
Alexandre Julliard 59008670be Moved the selector access functions out of winnt.h into libwine. 2002-05-16 20:32:16 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00