From 58fed4d65ae9f052eee909edb7aa1e0bfed93a21 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Mon, 26 Jan 2015 17:05:02 +0000 Subject: [PATCH] [Support][Windows] Disable error dialog boxes when stack trace printing is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227094 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Windows/Signals.inc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/Support/Windows/Signals.inc b/lib/Support/Windows/Signals.inc index 35ba6f8e1bb..ad740c79a7a 100644 --- a/lib/Support/Windows/Signals.inc +++ b/lib/Support/Windows/Signals.inc @@ -279,6 +279,14 @@ void sys::DontRemoveFileOnSignal(StringRef Filename) { /// PrintStackTraceOnErrorSignal - When an error signal (such as SIBABRT or /// SIGSEGV) is delivered to the process, print a stack trace and then exit. void sys::PrintStackTraceOnErrorSignal() { + // Don't pop up any dialog boxes. + // We're already handling writing a "something went wrong" message. + _set_abort_behavior(0, _WRITE_ABORT_MSG); + // Disable Dr. Watson. + _set_abort_behavior(0, _CALL_REPORTFAULT); + // Disable standard error dialog box. + SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); + RegisterHandler(); LeaveCriticalSection(&CriticalSection); }