Uhh, this change is not correct. It overrides the proper handling of exception filtering -- please revert.
Best regards, Alex Ionescu On Sun, Oct 28, 2018 at 9:03 AM Mark Jansen <mark.jan...@reactos.org> wrote: > > https://git.reactos.org/?p=reactos.git;a=commitdiff;h=40549483f60aa00e9fc952ba831027028f6df107 > > commit 40549483f60aa00e9fc952ba831027028f6df107 > Author: Mark Jansen <mark.jan...@reactos.org> > AuthorDate: Thu Oct 18 22:07:37 2018 +0200 > Commit: Mark Jansen <mark.jan...@reactos.org> > CommitDate: Sun Oct 28 13:01:38 2018 +0100 > > [KERNEL32] Use the default UnhandledExceptionFilter in > BaseThreadStartup. > This should allow unhandled exceptions in a thread to trigger our > crash reporter, > instead of killing the process directly. > --- > dll/win32/kernel32/client/thread.c | 25 +------------------------ > 1 file changed, 1 insertion(+), 24 deletions(-) > > diff --git a/dll/win32/kernel32/client/thread.c > b/dll/win32/kernel32/client/thread.c > index 8fc5a7ad61..2ff0102483 100644 > --- a/dll/win32/kernel32/client/thread.c > +++ b/dll/win32/kernel32/client/thread.c > @@ -26,29 +26,6 @@ BasepNotifyCsrOfThread(IN HANDLE ThreadHandle, > > /* FUNCTIONS > ******************************************************************/ > > -static > -LONG BaseThreadExceptionFilter(EXCEPTION_POINTERS * ExceptionInfo) > -{ > - LONG ExceptionDisposition = EXCEPTION_EXECUTE_HANDLER; > - LPTOP_LEVEL_EXCEPTION_FILTER RealFilter; > - > - RealFilter = RtlDecodePointer(GlobalTopLevelExceptionFilter); > - if (RealFilter != NULL) > - { > - _SEH2_TRY > - { > - ExceptionDisposition = RealFilter(ExceptionInfo); > - } > - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) > - { > - ExceptionDisposition = > UnhandledExceptionFilter(ExceptionInfo); > - } > - _SEH2_END; > - } > - > - return ExceptionDisposition; > -} > - > __declspec(noreturn) > VOID > WINAPI > @@ -68,7 +45,7 @@ BaseThreadStartup(IN LPTHREAD_START_ROUTINE > lpStartAddress, > /* Get the exit code from the Thread Start */ > ExitThread((lpStartAddress)((PVOID)lpParameter)); > } > - > _SEH2_EXCEPT(BaseThreadExceptionFilter(_SEH2_GetExceptionInformation())) > + > _SEH2_EXCEPT(UnhandledExceptionFilter(_SEH2_GetExceptionInformation())) > { > /* Get the Exit code from the SEH Handler */ > if (!BaseRunningInServerProcess) > >
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev