From f418c505d0b3b9de226f5c28c2345f00299845fc Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Sun, 3 Feb 2013 06:11:25 +0800 Subject: [PATCH] lib9/main.c: don't show the crash dialog on windows Fixes #3202. (Or rather, work around issue 3202) R=alex.brainman, rsc CC=golang-dev https://golang.org/cl/7202053 --- src/lib9/main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/lib9/main.c b/src/lib9/main.c index 45f86c7ec7..85a73f9f29 100644 --- a/src/lib9/main.c +++ b/src/lib9/main.c @@ -27,11 +27,28 @@ THE SOFTWARE. #define NOPLAN9DEFINES #include +#ifdef WIN32 +#include + +static void crashhandler() { + fprint(2, "%s: internal fatal error.\n", argv0); + exit(1); +} +#endif + extern void p9main(int, char**); int main(int argc, char **argv) { +#ifdef WIN32 + signal(SIGSEGV, crashhandler); + signal(SIGBUS, crashhandler); + // don't display the crash dialog + DWORD mode = SetErrorMode(SEM_NOGPFAULTERRORBOX); + SetErrorMode(mode | SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX); + argv0 = argv[0]; +#endif p9main(argc, argv); exits("main"); return 99;