From: Michael J. Spencer Date: Mon, 26 Jan 2015 17:05:02 +0000 (+0000) Subject: [Support][Windows] Disable error dialog boxes when stack trace printing is enabled. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=58fed4d65ae9f052eee909edb7aa1e0bfed93a21;p=oota-llvm.git [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 --- 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); }