From: jakub Date: Wed, 14 Mar 2007 12:14:58 +0000 (+0000) Subject: * io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a638be8feeed51f77f62e9e175b9bd968b05fdbf;p=thirdparty%2Fgcc.git * io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with O_RDONLY even if errno is EROFS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122914 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 7f9065814253..1e71f1d6461d 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2007-03-14 Jakub Jelinek + + * io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with + O_RDONLY even if errno is EROFS. + 2007-03-09 Jerry DeLisle PR libgfortran/31099 diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index 08f32878fcd9..b58df51ae369 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -1213,7 +1213,7 @@ regular_file (st_parameter_open *opp, unit_flags *flags) break; case STATUS_REPLACE: - crflag = O_CREAT | O_TRUNC; + crflag = O_CREAT | O_TRUNC; break; default: @@ -1229,14 +1229,14 @@ regular_file (st_parameter_open *opp, unit_flags *flags) mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; fd = open (path, rwflag | crflag, mode); if (flags->action != ACTION_UNSPECIFIED) - return fd; + return fd; if (fd >= 0) { flags->action = ACTION_READWRITE; return fd; } - if (errno != EACCES) + if (errno != EACCES && errno != EROFS) return fd; /* retry for read-only access */