aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io/unix.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@gcc.gnu.org>2009-04-06 16:07:51 -0700
committerH.J. Lu <hjl@gcc.gnu.org>2009-04-06 16:07:51 -0700
commit4197c13d08d5f8984eab7e6f615ca605c0a6ad13 (patch)
tree92dbf267a9a5a57ff0a6436365b117a8cad0ad9c /libgfortran/io/unix.c
parentfe0a25ec79f35eb3ae2ecf31e4fd2ba91a6294fa (diff)
downloadgcc-4197c13d08d5f8984eab7e6f615ca605c0a6ad13.zip
gcc-4197c13d08d5f8984eab7e6f615ca605c0a6ad13.tar.gz
gcc-4197c13d08d5f8984eab7e6f615ca605c0a6ad13.tar.bz2
re PR libfortran/39664 (Revision 145571 breaks stdio)
2009-04-06 H.J. Lu <hongjiu.lu@intel.com> PR libgfortran/39664 * io/unix.c (raw_close): Don't close STDOUT_FILENO, STDERR_FILENO nor STDIN_FILENO. From-SVN: r145636
Diffstat (limited to 'libgfortran/io/unix.c')
-rw-r--r--libgfortran/io/unix.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c
index 0d2650b..4f8cbb5 100644
--- a/libgfortran/io/unix.c
+++ b/libgfortran/io/unix.c
@@ -344,7 +344,12 @@ raw_close (unix_stream * s)
{
int retval;
- retval = close (s->fd);
+ if (s->fd != STDOUT_FILENO
+ && s->fd != STDERR_FILENO
+ && s->fd != STDIN_FILENO)
+ retval = close (s->fd);
+ else
+ retval = SUCCESS;
free_mem (s);
return retval;
}