Commit 5ef167c1 authored by Ralf Habacker's avatar Ralf Habacker

Suppress Windows popups and jit debugger when app crashes with exception.

Based on a patch from Yiyang Fei.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95155Reviewed-by: 's avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
parent cdf9fd02
......@@ -13,11 +13,36 @@
#include <sys/prctl.h>
#endif
#ifdef DBUS_WIN
#include <windows.h>
int
exception_handler(LPEXCEPTION_POINTERS p);
/* Explicit Windows exception handlers needed to supress OS popups */
int
exception_handler(LPEXCEPTION_POINTERS p)
{
fprintf(stderr, "test-segfault: raised fatal exception as intended\n");
ExitProcess(0xc0000005);
}
#endif
int
main (int argc, char **argv)
{
char *p;
#ifdef DBUS_WIN
/* Disable Windows popup dialog when an app crashes so that app quits
* immediately with error code instead of waiting for user to dismiss
* the dialog. */
DWORD dwMode = SetErrorMode(SEM_NOGPFAULTERRORBOX);
SetErrorMode(dwMode | SEM_NOGPFAULTERRORBOX);
/* Disable "just in time" debugger */
SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)&exception_handler);
#endif
#if HAVE_SETRLIMIT
/* No core dumps please, we know we crashed. */
struct rlimit r = { 0, };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment