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 Update copyright years. 2016-01-04 15:30:50 +01:00
generated Update copyright years. 2016-01-04 15:30:50 +01:00
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 Update copyright years. 2016-01-04 15:30:50 +01:00
runtime Replace KISS PRNG with xorshift1024* using per-thread state. 2016-08-11 11:58:55 +03:00
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 Update copyright years. 2016-01-04 15:30:50 +01:00
ChangeLog-2015 Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.am re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
Makefile.in re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
acinclude.m4 re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 14:02:43 +00:00
aclocal.m4 re PR libfortran/54572 (Use libbacktrace library) 2015-08-23 21:50:30 +00:00
c99_protos.h Update copyright years. 2016-01-04 15:30:50 +01:00
config.h.in re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 14:02:43 +00:00
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 Update copyright years. 2016-01-04 15:30:50 +01:00
libgfortran.h Update copyright years. 2016-01-04 15:30:50 +01:00
libgfortran.spec.in
libtool-version
mk-kinds-h.sh
mk-sik-inc.sh
mk-srk-inc.sh