Commit Graph

131 Commits

Author SHA1 Message Date
Alexandre Julliard 03d31ea81d server: Only update the modified parts of the context on thread suspend.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 15:18:48 +01:00
Qian Hong cffd86f195 ntdll: Make RtlAddVectoredExceptionHandler hotpatchable. 2015-01-16 16:52:20 +01:00
Sebastian Lackner 275ee4b376 ntdll: Implement Rtl[Add|Remove]VectoredContinueHandler semi-stubs. 2014-11-14 14:16:30 +09:00
Austin English 4c0ceacee0 ntdll: Add stubs for vectored continue handler. 2014-11-13 16:31:49 +09: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 30cb179fe2 ntdll: Encode the function pointers in the vectored handler list. 2011-06-28 08:01:58 -05:00
Alexandre Julliard 45075b2f9c server: Add separate requests for getting/setting the thread context during suspend. 2011-05-06 12:25:34 +02:00
Alexandre Julliard 11e71ede14 ntdll: Don't call vectored exception handlers under the critical section. 2010-11-10 20:55:07 +01:00
Alexandre Julliard 177a7e5683 Revert "ntdll: Fix possible deadlock in vectored exception handling."
This reverts commit eb0e82a755.
It's causing different deadlocks, notably when a thread tries to
remove a handler inside a handler.
2010-11-10 19:17:41 +01:00
Krzysztof Nowicki eb0e82a755 ntdll: Fix possible deadlock in vectored exception handling. 2010-10-12 12:30:48 +02:00
Alexandre Julliard d45fca8f7c ntdll: Moved RtlCaptureStackBackTrace stub to the cpu-specific files. 2009-11-11 17:19:23 +01:00
Alexandre Julliard c5a57e7d13 ntdll: Move NtRaiseException and RtlUnwind implementations to the CPU-specific files. 2009-04-30 13:23:15 +02:00
Alexandre Julliard f4eee1c731 ntdll: Move the RtlRaiseException implementation into the respective platform-specific files. 2009-04-10 13:14:05 +02:00
Alexandre Julliard 48199d7074 ntdll: Add a raise_status function and avoid exporting __regs_RtlRaiseException. 2009-04-10 13:09:06 +02:00
Alexandre Julliard c709adcf16 ntdll: Update the context on send_debug_event for any successful status. 2009-04-10 12:37:22 +02:00
Alexandre Julliard 5316dd011f server: Define a generic context structure instead of using the platform-specific version. 2009-04-08 19:59:23 +02:00
Alexandre Julliard c727fe4adc ntdll: Add a trace when calling vectored exception handlers too. 2009-02-02 16:22:06 +01:00
Andrey Turkin d2685e7bd7 ntdll: Add RtlCaptureStackBackTrace stub. 2009-01-12 14:37:57 +01:00
Alexandre Julliard 14c452fe78 ntdll: Replaced get_cpu_context by RtlCaptureContext. Implemented it for x86_64. 2009-01-06 17:50:34 +01:00
Alexandre Julliard d1e8a85b1f ntdll: Print exception context on x86_64. 2009-01-06 17:02:13 +01:00
Alexandre Julliard 4986f42b9f ntdll: Change the DEFINE_REGS_ENTRYPOINT macro to use a number of args instead of a size.
Also assume that all register functions are stdcall.
2009-01-06 12:49:18 +01:00
Alexandre Julliard 9f365e7705 server: Replace EXCEPTION_RECORD by an explicit definition in debug events. 2009-01-02 20:12:46 +01:00
Alexandre Julliard d75b0ce452 ntdll: Make sure we don't return from a stub exception. 2008-12-29 12:43:59 +01:00
Alexandre Julliard d1b3d484f7 server: Add functions for conversions between server object handles and pointer-style handles. 2008-12-08 16:05:17 +01:00
Alexandre Julliard 31a641aa59 ntdll: Implemented RtlCaptureContext. 2008-12-04 12:42:53 +01:00
Alexandre Julliard 0ee44f5e20 ntdll: Make the exception handling functions inline. 2008-05-01 10:57:54 +02:00
Alexandre Julliard 970b34291e ntdll: Preserve errno across system calls done in the suspend handler. 2007-06-01 11:16:09 +02:00
Peter Oberndorfer eab168cf9e ntdll: Fix up instruction pointer in context inside raise_exception. 2007-05-23 12:50:57 +02:00
Andrew Talbot ab2a48ae43 ntdll: Remove superfluous semicolons. 2007-04-12 16:16:58 +02:00
Alexandre Julliard bd7595af7b ntdll: Allow APCs to run while waiting for a debug event reply. 2007-02-13 17:17:58 +01:00
Alexandre Julliard 2520e387a1 server: Allow suspended threads to run system APCs. 2007-01-10 21:55:23 +01:00
Hans Leidekker f7b0ba7aa7 ntdll: Win64 printf format warning fixes. 2006-10-18 12:35:26 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard 2bfe47e852 ntdll: Use NtSetContextThread in NtRaiseException. 2006-04-20 15:40:42 +02:00
Alexandre Julliard 00bb4536b0 ntdll: Print traces for EXC_CallHandler even with the assembly version. 2006-04-06 21:32:17 +02:00
Mike McCormack a3348cf4a0 ntdll: Use the NTAPI definition of EXCEPTION_ACCESS_VIOLATION. 2006-01-16 20:40:25 +01:00
Alexandre Julliard 90e3865929 ntdll: NtRaiseException doesn't need to be a register function.
Moved common code between NtRaiseException and RtlRaiseException to a
separate raise_exception function.
2006-01-10 17:51:22 +01:00
Eric Pouech fe36b7baca ntdll: Made DBG_EXCEPTION_HANDLED a synonym of DBG_CONTINUE for exception handlers. 2005-12-20 11:47:27 +01:00
Alexandre Julliard 324d86a3af Exception handling: Added a magic __EXCEPT_PAGE_FAULT macro to make it
easier to handle the common case of trapping page faults.
2005-12-16 16:58:47 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard 73c72390f8 Fixed Get/SetThreadContext to work properly on suspended threads.
Added a test case.
2005-11-02 20:54:12 +00:00
Alexandre Julliard ff7795ef4c Don't send an extra signal when waiting for a debug event, just do a
normal wait.  Return the debug event status directly as return value
of the server call.
2005-11-01 21:47:07 +00:00
Robert Shearman 2a02dd1f05 Make the call exception handler function more compatible with NT and
with what Shrinker expects.
2005-11-01 09:21:03 +00:00
Marcus Meissner 98ed5585c7 Added assembly implementation of EXC_CallHandler. 2005-10-31 14:08:05 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +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 c7d649483b Define GET_IP for x86_64. 2005-09-08 19:17:04 +00:00
Alexandre Julliard b6b180a16d Moved the implementation of spec file stubs to the winecrt0 library. 2005-08-25 15:27:44 +00:00