summaryrefslogtreecommitdiff
path: root/libgfortran/io/unix.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-06 23:07:51 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-06 23:07:51 +0000
commit8b89aa85391798c56058cdb65c877ae2dddb490d (patch)
tree92dbf267a9a5a57ff0a6436365b117a8cad0ad9c /libgfortran/io/unix.c
parent30904b2c6b5160a92e1d9abed48ac6dd7a42e94a (diff)
downloadgcc-8b89aa85391798c56058cdb65c877ae2dddb490d.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145636 138bc75d-0d04-0410-961f-82ee72b054a4
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 0d2650b50fa..4f8cbb535c4 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;
}