[PATCH 2/3] Cygwin: re-implement fhandler_fifo::open with O_PATH
Ken Brown
kbrown@cornell.edu
Thu Jan 23 16:31:00 GMT 2020
If the O_PATH flag is set, fhandler_fifo::open now simply calls
fhandler_base::open_fs.
The previous attempt to handle O_PATH in commit aa55d22c, "Cygwin:
honor the O_PATH flag when opening a FIFO", fixed a hang but otherwise
didn't do anything useful.
---
winsup/cygwin/fhandler_fifo.cc | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc
index fd8223000..8cbab353c 100644
--- a/winsup/cygwin/fhandler_fifo.cc
+++ b/winsup/cygwin/fhandler_fifo.cc
@@ -453,17 +453,13 @@ fhandler_fifo::open (int flags, mode_t)
} res;
if (flags & O_PATH)
- {
- query_open (query_read_attributes);
- nohandle (true);
- }
+ return open_fs (flags);
/* Determine what we're doing with this fhandler: reading, writing, both */
switch (flags & O_ACCMODE)
{
case O_RDONLY:
- if (!query_open ())
- reader = true;
+ reader = true;
break;
case O_WRONLY:
writer = true;
@@ -585,8 +581,6 @@ fhandler_fifo::open (int flags, mode_t)
}
}
}
- if (query_open ())
- res = success;
out:
if (res == error_set_errno)
__seterrno ();
--
2.21.0
More information about the Cygwin-patches
mailing list