f368589492
Calling open from acl_extended_file{_nofollow} indiscriminately may hang if the file is a FIFO. Ultimately the FIFO implementation needs a thorough rewrite, but for the time being we better do what stat(2) and friends do: Just create an fhandler directly. * sec_posixacl.cc (__acl_extended_fh): New static function calling fhandler::facl. (acl_extended_fd): Just call __acl_extended_fh. (__acl_extended_file): Take just a path_conv as parameter and create temporary fhandler to call __acl_extended_fh. (acl_extended_file): Create path_conv from incoming path and call __acl_extended_file on it. (acl_extended_file_nofollow): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cygwin documentation is available on the net at http://cygwin.com You might especially be interested in http://cygwin.com/faq/faq.programming.html#faq.programming.building-cygwin