[newlib-cygwin] Cygwin: re-implement fhandler_fifo::open with O_PATH

Corinna Vinschen corinna@sourceware.org
Fri Jan 24 10:26:00 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5fb3790422495ba55390bbac32b60bcea908ef70

commit 5fb3790422495ba55390bbac32b60bcea908ef70
Author: Ken Brown <kbrown@cornell.edu>
Date:   Thu Jan 23 16:31:04 2020 +0000

    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.

Diff:
---
 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 fd82230..8cbab35 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 ();



More information about the Cygwin-cvs mailing list