]> Cypherpunks repositories - gostls13.git/commit
runtime: Allow handling of EXCEPTION_IN_PAGE_ERROR
authorMax Altgelt <max.altgelt@nextron-systems.com>
Fri, 10 Feb 2023 10:38:42 +0000 (11:38 +0100)
committerQuim Muntal <quimmuntal@gmail.com>
Sat, 11 Feb 2023 09:26:59 +0000 (09:26 +0000)
commite03ee85ef434f307500a71927dfb3e876161847a
treeee4d3701a74ced8b3e11e9b8e72a6826f8c3ef71
parentbd5de19b368536574682c45cca9f7864a4eca6d2
runtime: Allow handling of EXCEPTION_IN_PAGE_ERROR

Currently, access faults on memory mapped files on Windows (e.g.
from the drive the memory mapped file is on being ejected) cause
a runtime fault that can not be caught by debug.SetPanicOnFault.

On Unix systems, on the other hand, this causes a SIGBUS signal,
which can be caught by debug.SetPanicOnFault. Given that the
documentation of debug.SetPanicOnFault mentions handling memory
mapped files, this is arguably the correct behaviour.

Add handling, analogous to SIGBUS, to EXCEPTION_IN_PAGE_ERROR
on Windows, to allow for users to handle this error.

Fixes #58457

Change-Id: Ic7695fc01271f3552782089ac75c403d5279811f
Reviewed-on: https://go-review.googlesource.com/c/go/+/467195
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Quim Muntal <quimmuntal@gmail.com>
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
src/runtime/defs_windows.go
src/runtime/signal_windows.go