PR 56981 Improve unbuffered performance on special files.
commitfe34985d32867e215a69fa049d9eade1ae33df57
authorjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Apr 2013 08:42:00 +0000 (29 08:42 +0000)
committerjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Apr 2013 08:42:00 +0000 (29 08:42 +0000)
tree3b1ca6b7cea4c26f9fb00330df1afd202ff6a6cb
parent5b566583f660cbb57ed94aad76778272a2034932
PR 56981 Improve unbuffered performance on special files.

2013-04-29  Janne Blomqvist  <jb@gcc.gnu.org>

        PR fortran/56981
        * io/transfer.c (next_record_w_unf): First fix head marker, then
        write tail.
        (next_record): Call flush_if_unbuffered.
        * io/unix.c (struct unix_stream): Add field unbuffered.
        (flush_if_unbuffered): New function.
        (fd_to_stream): New argument.
        (open_external): Fix fd_to_stream call.
        (input_stream): Likewise.
        (output_stream): Likewise.
        (error_stream): Likewise.
        * io/unix.h (flush_if_unbuffered): New prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198390 138bc75d-0d04-0410-961f-82ee72b054a4
libgfortran/ChangeLog
libgfortran/io/transfer.c
libgfortran/io/unix.c
libgfortran/io/unix.h