Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-12-01 23:52:00 +0300
committerChristopher Faylor <me@cgf.cx>2005-12-01 23:52:00 +0300
commit8b3c84227f37ec82a7e5ffe1d32349546b56a5f2 (patch)
tree08072c35cee488abf15cad8ce8b8689dc9f2149a
parentb5342210808abbb0a9fc3d27f324b6951435e92c (diff)
* exceptions.cc (handle_exceptions): Translate a guard page exception to a
"SIGBUS".
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/exceptions.cc6
2 files changed, 10 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 8f922455a..0594a4e87 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-01 Christopher Faylor <cgf@timesys.com>
+
+ * exceptions.cc (handle_exceptions): Translate a guard page exception
+ to a "SIGBUS".
+
2005-12-01 Corinna Vinschen <corinna@vinschen.de>
* mmap.cc: Make debug output more consistently. Fix some comments.
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: