mirror of
https://github.com/reactos/reactos.git
synced 2025-07-05 20:01:22 +00:00
- Fix some insidious bugs in exception handling, mostly related to the art of unwinding (RtlUnwind).
- Can't name specifics, but probably fixes multiple SEH/application bugs/regressions since about 6-8 months ago. Fixes my personal SEH test from 22 failures/crashes/BSODs to 22 succeesses... - Also fixes some crashes in kernel-kqemu mode. svn path=/trunk/; revision=24178
This commit is contained in:
parent
45f71f78c8
commit
3e709fbbd9
3 changed files with 107 additions and 98 deletions
|
@ -26,14 +26,12 @@ RtlRaiseException(PEXCEPTION_RECORD ExceptionRecord)
|
|||
{
|
||||
CONTEXT Context;
|
||||
NTSTATUS Status;
|
||||
DPRINT1("RtlRaiseException(Status %p)\n", ExceptionRecord);
|
||||
|
||||
/* Capture the context */
|
||||
RtlCaptureContext(&Context);
|
||||
|
||||
/* Save the exception address */
|
||||
ExceptionRecord->ExceptionAddress = RtlpGetExceptionAddress();
|
||||
DPRINT1("ExceptionAddress %p\n", ExceptionRecord->ExceptionAddress);
|
||||
|
||||
/* Write the context flag */
|
||||
Context.ContextFlags = CONTEXT_FULL;
|
||||
|
@ -72,7 +70,6 @@ RtlRaiseStatus(NTSTATUS Status)
|
|||
{
|
||||
EXCEPTION_RECORD ExceptionRecord;
|
||||
CONTEXT Context;
|
||||
DPRINT1("RtlRaiseStatus(Status 0x%.08lx)\n", Status);
|
||||
|
||||
/* Capture the context */
|
||||
RtlCaptureContext(&Context);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue