From 5fb3790422495ba55390bbac32b60bcea908ef70 Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Thu, 23 Jan 2020 16:31:04 +0000 Subject: [PATCH] Cygwin: re-implement fhandler_fifo::open with O_PATH 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 ();