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
This commit is contained in:
H.J. Lu 2009-04-06 16:07:51 -07:00
parent fe0a25ec79
commit 4197c13d08
2 changed files with 29 additions and 18 deletions

View File

@ -1,3 +1,9 @@
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.
2009-04-06 David Edelsohn <edelsohn@gnu.org> 2009-04-06 David Edelsohn <edelsohn@gnu.org>
* io/io.h (struct stream): Rename truncate to trunc. * io/io.h (struct stream): Rename truncate to trunc.
@ -14,7 +20,7 @@
2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37754 PR libfortran/37754
* io/io.h (format_hash_entry): New structure for hash table. * io/io.h (format_hash_entry): New structure for hash table.
(format_hash_table): The hash table itself. (format_hash_table): The hash table itself.
(free_format_data): Revise function prototype. (free_format_data): Revise function prototype.
@ -47,7 +53,7 @@
2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37754 PR libfortran/37754
* io/transfer.c (formatted_transfer_scalar): Remove this function by * io/transfer.c (formatted_transfer_scalar): Remove this function by
factoring it into two new functions, one for read and one for write, factoring it into two new functions, one for read and one for write,
eliminating all the conditionals for read or write mode. eliminating all the conditionals for read or write mode.
@ -57,7 +63,7 @@
2009-04-05 Janne Blomqvist <jb@gcc.gnu.org> 2009-04-05 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/25561 libfortran/37754 PR libfortran/25561 libfortran/37754
* io/io.h (struct stream): Define new stream interface function * io/io.h (struct stream): Define new stream interface function
pointers, and inline functions for accessing it. pointers, and inline functions for accessing it.
(struct fbuf): Use int instead of size_t, remove flushed element. (struct fbuf): Use int instead of size_t, remove flushed element.
@ -79,7 +85,7 @@
(fbuf_read): New prototype. (fbuf_read): New prototype.
(fbuf_getc_refill): New prototype. (fbuf_getc_refill): New prototype.
(fbuf_getc): New inline function. (fbuf_getc): New inline function.
* io/fbuf.c (fbuf_init): Use int, get rid of flushed. * io/fbuf.c (fbuf_init): Use int, get rid of flushed.
(fbuf_debug): New function. (fbuf_debug): New function.
(fbuf_reset): Flush, and return position offset. (fbuf_reset): Flush, and return position offset.
(fbuf_alloc): Simplify, don't flush, just realloc. (fbuf_alloc): Simplify, don't flush, just realloc.
@ -515,18 +521,18 @@
PR libfortran/34670 PR libfortran/34670
* intrinsics/reshape_generic.c: Add bounds checking. * intrinsics/reshape_generic.c: Add bounds checking.
* m4/reshape.m4: Likewise. * m4/reshape.m4: Likewise.
* generated/reshape_c10.c: Regenerated. * generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated. * generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated. * generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated. * generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated. * generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated. * generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated. * generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated. * generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated. * generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated. * generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated. * generated/reshape_r8.c: Regenerated.
* generated/spread_r4.c: Regenerated. * generated/spread_r4.c: Regenerated.
2008-10-13 Jerry DeLisle <jvdelisle@gcc.gnu.org 2008-10-13 Jerry DeLisle <jvdelisle@gcc.gnu.org
@ -550,7 +556,7 @@
than the sub-object. than the sub-object.
2008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
Steve Ellcey <sje@cup.hp.com> Steve Ellcey <sje@cup.hp.com>
* configure: Regenerate for new libtool. * configure: Regenerate for new libtool.
* Makefile.in: Ditto. * Makefile.in: Ditto.

View File

@ -344,7 +344,12 @@ raw_close (unix_stream * s)
{ {
int retval; 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); free_mem (s);
return retval; return retval;
} }