[crashing] Improve crash chaining (#20018)
commit2ff424be2933f711207a8139c5792ab5d1b495a9
authorAlexis Christoforides <alexis@thenull.net>
Thu, 25 Jun 2020 19:50:45 +0000 (25 15:50 -0400)
committerGitHub <noreply@github.com>
Thu, 25 Jun 2020 19:50:45 +0000 (25 15:50 -0400)
tree4f522c83652a56fd0fd3c742fd56db985fab887e
parent83105ba22461455f4343d6bb14976eba8b0b3f39
[crashing] Improve crash chaining (#20018)

With this change, `mono_post_native_crash_handler` chains the crashing signal directly, instead of that having to happen after `mono_handle_native_crash` returns (which created a fragile repetitive code pattern). Finally, this way `mono_post_native_crash_handler` can also re-raise the signal right after chaining it. Since we remove our crashing signal handlers in `mono_handle_native_crash`, this should allow the OS to handle the signal as the final action.

Fixes https://github.com/mono/mono/issues/19860
mono/mini/exceptions-amd64.c
mono/mini/exceptions-ppc.c
mono/mini/exceptions-x86.c
mono/mini/mini-exceptions.c
mono/mini/mini-posix.c
mono/mini/mini-runtime.c
mono/mini/mini-runtime.h
mono/mini/mini-windows.c
mono/mini/mini.h