summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2005-02-06 11:15:29 +0000
committerCorinna Vinschen <corinna@vinschen.de>2005-02-06 11:15:29 +0000
commit7d880770d3b714835e2f0871e0d27c512f3c81b2 (patch)
treee2bf2c92a3a73b9d7cf34ed87ff0a865e05687d5 /winsup/cygwin/path.cc
parent85a798d6e755f4db4c04d92ecde1e5409a62cd59 (diff)
downloadcygnal-7d880770d3b714835e2f0871e0d27c512f3c81b2.tar.gz
cygnal-7d880770d3b714835e2f0871e0d27c512f3c81b2.tar.bz2
cygnal-7d880770d3b714835e2f0871e0d27c512f3c81b2.zip
* path.cc (path_conv::check): Leave symlink expansion loop in case
a not-ENOENT error happens. * cygheap.h (cygheap_fdmanip::fhandler_pipe *): New cast operator. * pinfo.cc (_pinfo::commune_recv): Add PICOM_PIPE_FHANDLER handling. (_pinfo::commune_send): Ditto. (_pinfo::pipe_fhandler): New method. * pinfo.h (enum picom): Add PICOM_PIPE_FHANDLER. (_pinfo::pipe_fhandler): Declare. * pipe.cc (fhandler_pipe::open): Rewrite. Allow to open foreign pipe handles.
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 055aa1986..7294d2267 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -764,6 +764,11 @@ is_virtual_symlink:
else
break;
}
+ else if (sym.error != ENOENT) /* E. g. EACCES */
+ {
+ error = sym.error;
+ goto out;
+ }
/* No existing file found. */
}