summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/exceptions.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 3507f5a79..9d0662dec 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Sun Sep 17 22:18:39 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * exceptions.cc (interruptible): Return 0 if given an address in
+ uncommitted memory.
+
2000-09-16 Egor Duda <deo@logos-m.ru>
* signal.cc (sleep): If interrupted by signal, return the
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 82ef8861c..5fcb69ae9 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -601,7 +601,7 @@ interruptible (DWORD pc, int testvalid = 0)
/* Apparently Windows 95 can sometimes return bogus addresses from
GetThreadContext. These resolve to an allocation base == 0.
These should *never* be treated as interruptible. */
- if (!h)
+ if (!h || m.State != MEM_COMMIT)
res = 0;
else if (testvalid)
res = 1; /* All we wanted to know was if this was a valid module. */