gcc/libgfortran
Janne Blomqvist b923394429 PR 67585 Handle EINTR
Many POSIX systems have the bad habit of not restarting interrupted
syscalls. On these systems it's up to the user to check for an error
with errno == EINTR and restart manually. This patch does this for
libgfortran, so that GFortran users don't have to do it.

2016-10-09  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/67585
        * io/io.h: TEMP_FAILURE_RETRY: Define macro if not found.
        * io/unix.c (raw_read): Handle EINTR.
        (raw_write): Check for return value -1.
        (raw_seek): Handle EINTR.
        (raw_tell): Likewise.
        (raw_size): Likewise.
        (raw_truncate): Likewise.
        (raw_close): Likewise.
        (buf_flush): Call raw_seek instead of lseek.
        (buf_read): Likewise.
        (buf_write): Likewise.
        (fd_to_stream): Handle EINTR.
        (tempfile_open): Likewise.
        (regular_file2): Likewise.
        (compare_file_filename): Likewise.
        (find_file): Likewise.
        (inquire_sequential): Likewise.
        (inquire_direct): Likewise.
        (inquire_formatted): Likewise.

From-SVN: r240902
2016-10-09 21:05:56 +03:00
..
caf re PR libfortran/77663 (libgfortran/caf/single.c: three minor problems and a lost token) 2016-10-01 16:00:57 +02:00
config
generated
ieee re PR fortran/77507 (gfortran rejects keyworded calls to procedures from intrinsic modules) 2016-09-09 17:57:11 +00:00
intrinsics Use rand_s on MinGW-w64, fix array bound overflow. 2016-09-21 13:07:06 +03:00
io PR 67585 Handle EINTR 2016-10-09 21:05:56 +03:00
m4
runtime
acinclude.m4
aclocal.m4
c99_protos.h
ChangeLog PR 67585 Handle EINTR 2016-10-09 21:05:56 +03:00
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
config.h.in
configure configure.ac (nvptx-*): Hardwire newlib. 2016-08-29 19:09:57 +00:00
configure.ac configure.ac (nvptx-*): Hardwire newlib. 2016-08-29 19:09:57 +00:00
configure.host
gfortran.map [multiple changes] 2016-08-31 05:36:22 +00:00
kinds-override.h
libgfortran.h
libgfortran.spec.in
libtool-version
Makefile.am
Makefile.in
mk-kinds-h.sh
mk-sik-inc.sh
mk-srk-inc.sh