unix.c (regular_file): For ACTION_UNSPECIFIED retry with O_RDONLY even if errno is EROFS.
* io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with O_RDONLY even if errno is EROFS. From-SVN: r122914
This commit is contained in:
parent
0c20e4ecc9
commit
d70d13acb5
@ -1,3 +1,8 @@
|
||||
2007-03-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with
|
||||
O_RDONLY even if errno is EROFS.
|
||||
|
||||
2007-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/31099
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user