[ros-dev] [ros-diffs] 02/04: [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.
Alex Ionescu
ionucu at videotron.ca
Sun Oct 28 16:36:25 UTC 2018
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.jansen at reactos.org> wrote:
>
> https://git.reactos.org/?p=reactos.git;a=commitdiff;h=40549483f60aa00e9fc952ba831027028f6df107
>
> commit 40549483f60aa00e9fc952ba831027028f6df107
> Author: Mark Jansen <mark.jansen at reactos.org>
> AuthorDate: Thu Oct 18 22:07:37 2018 +0200
> Commit: Mark Jansen <mark.jansen at 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)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.reactos.org/pipermail/ros-dev/attachments/20181028/8d503178/attachment.html>
More information about the Ros-dev
mailing list