aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMumit Khan <kahn@xraylity.wisc.edu>1997-11-18 16:48:12 +0000
committerJeff Law <law@gcc.gnu.org>1997-11-18 09:48:12 -0700
commit68660571fcb0260d0fb73157f15f2ea69e2e7834 (patch)
treed05edfb017fdf8694a79cfcfc0fb100cc6c0835e
parent8baa713c4f6237b7ab8336d8215668dc063d7715 (diff)
downloadgcc-68660571fcb0260d0fb73157f15f2ea69e2e7834.zip
gcc-68660571fcb0260d0fb73157f15f2ea69e2e7834.tar.gz
gcc-68660571fcb0260d0fb73157f15f2ea69e2e7834.tar.bz2
close.c (f_exit): Reset f__init so that f_clos does not (incorrectly) think there is an I/O...
* libI77/close.c (f_exit): Reset f__init so that f_clos does not (incorrectly) think there is an I/O recursion when program is interrupted. From-SVN: r16565
-rw-r--r--gcc/f/runtime/ChangeLog.egcs6
-rw-r--r--gcc/f/runtime/libI77/close.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/f/runtime/ChangeLog.egcs b/gcc/f/runtime/ChangeLog.egcs
index 8c88104..c138a11 100644
--- a/gcc/f/runtime/ChangeLog.egcs
+++ b/gcc/f/runtime/ChangeLog.egcs
@@ -1,3 +1,9 @@
+Tue Nov 18 09:49:04 1997 Mumit Khan (kahn@xraylity.wisc.edu)
+
+ * libI77/close.c (f_exit): Reset f__init so that f_clos does not
+ (incorrectly) think there is an I/O recursion when program is
+ interrupted.
+
Sat Nov 1 18:03:42 1997 Jeffrey A Law (law@cygnus.com)
* libF77/signal_.c: Undo last change until we can fix it right.
diff --git a/gcc/f/runtime/libI77/close.c b/gcc/f/runtime/libI77/close.c
index 691f931..93e9198 100644
--- a/gcc/f/runtime/libI77/close.c
+++ b/gcc/f/runtime/libI77/close.c
@@ -75,6 +75,10 @@ f_exit(void)
static cllist xx;
if (! (f__init & 1))
return; /* Not initialized, so no open units. */
+ /* no more I/O to be done. If this is not done, then if the
+ program is interrupted during I/O, f_clos thinks, incorrectly,
+ that there is an I/O recursion. */
+ f__init &= ~2;
if (!xx.cerr) {
xx.cerr=1;
xx.csta=NULL;