From bc244008afa9cb0bf6c900fe75673dc349b67a8c Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Tue, 13 Jan 2015 17:17:53 +1100 Subject: [PATCH] runtime: move SetErrorMode constants into function so they are not exported Change-Id: Ib1a2adbcdbd7d96f9b4177abc3c9cf0ab09c1df4 Reviewed-on: https://go-review.googlesource.com/2716 Reviewed-by: Dave Cheney Reviewed-by: Brad Fitzpatrick Reviewed-by: Minux Ma --- src/runtime/os1_windows.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/runtime/os1_windows.go b/src/runtime/os1_windows.go index 7f860a37e1..7ac1cfe5b1 100644 --- a/src/runtime/os1_windows.go +++ b/src/runtime/os1_windows.go @@ -105,12 +105,17 @@ const ( currentThread = ^uintptr(1) // -2 = current thread ) -const ( - SEM_FAILCRITICALERRORS = 0x0001 - SEM_NOGPFAULTERRORBOX = 0x0002 - SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 - SEM_NOOPENFILEERRORBOX = 0x8000 -) +func disableWER() { + // do not display Windows Error Reporting dialogue + const ( + SEM_FAILCRITICALERRORS = 0x0001 + SEM_NOGPFAULTERRORBOX = 0x0002 + SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 + SEM_NOOPENFILEERRORBOX = 0x8000 + ) + errormode := uint32(stdcall1(_SetErrorMode, SEM_NOGPFAULTERRORBOX)) + stdcall1(_SetErrorMode, uintptr(errormode)|SEM_FAILCRITICALERRORS|SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX) +} var ( kernel32Name = []byte("kernel32.dll\x00") @@ -123,9 +128,7 @@ func osinit() { kernel32 := stdcall1(_LoadLibraryA, uintptr(unsafe.Pointer(&kernel32Name[0]))) - // don't display the crash dialog - errormode := uint32(stdcall1(_SetErrorMode, SEM_NOGPFAULTERRORBOX)) - stdcall1(_SetErrorMode, uintptr(errormode)|SEM_FAILCRITICALERRORS|SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX) + disableWER() externalthreadhandlerp = funcPC(externalthreadhandler) -- 2.48.1