From 68660571fcb0260d0fb73157f15f2ea69e2e7834 Mon Sep 17 00:00:00 2001 From: Mumit Khan Date: Tue, 18 Nov 1997 16:48:12 +0000 Subject: [PATCH] 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 --- gcc/f/runtime/ChangeLog.egcs | 6 ++++++ gcc/f/runtime/libI77/close.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/gcc/f/runtime/ChangeLog.egcs b/gcc/f/runtime/ChangeLog.egcs index 8c88104a30e..c138a11e8aa 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 691f931a3c0..93e9198ed0b 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;