diff options
author | Christopher Faylor <me@cgf.cx> | 2005-12-01 20:52:00 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-12-01 20:52:00 +0000 |
commit | 8b3c84227f37ec82a7e5ffe1d32349546b56a5f2 (patch) | |
tree | 08072c35cee488abf15cad8ce8b8689dc9f2149a /winsup/cygwin/exceptions.cc | |
parent | b5342210808abbb0a9fc3d27f324b6951435e92c (diff) | |
download | cygnal-8b3c84227f37ec82a7e5ffe1d32349546b56a5f2.tar.gz cygnal-8b3c84227f37ec82a7e5ffe1d32349546b56a5f2.tar.bz2 cygnal-8b3c84227f37ec82a7e5ffe1d32349546b56a5f2.zip |
* exceptions.cc (handle_exceptions): Translate a guard page exception to a
"SIGBUS".
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 098885108..bc0ea739a 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -479,10 +479,14 @@ handle_exceptions (EXCEPTION_RECORD *e0, void *frame, CONTEXT *in0, void *) si.si_signo = SIGALRM; break; + case STATUS_GUARD_PAGE_VIOLATION: + si.si_signo = SIGBUS; + si.si_code = BUS_OBJERR; + break; + case STATUS_ACCESS_VIOLATION: case STATUS_DATATYPE_MISALIGNMENT: case STATUS_ARRAY_BOUNDS_EXCEEDED: - case STATUS_GUARD_PAGE_VIOLATION: case STATUS_IN_PAGE_ERROR: case STATUS_NO_MEMORY: case STATUS_INVALID_DISPOSITION: |