diff options
author | Christopher Faylor <me@cgf.cx> | 2005-08-23 03:58:09 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-08-23 03:58:09 +0000 |
commit | 5f5c6f7fa97ab11856b0bb1f71bf7ec954e04c71 (patch) | |
tree | 49fa3a87cf68d14dd87311c14487680e135f8a72 /winsup/cygwin/fhandler_disk_file.cc | |
parent | 4797a77c2816ca920c2583912d620ffcb1dbd2ac (diff) | |
download | cygnal-5f5c6f7fa97ab11856b0bb1f71bf7ec954e04c71.tar.gz cygnal-5f5c6f7fa97ab11856b0bb1f71bf7ec954e04c71.tar.bz2 cygnal-5f5c6f7fa97ab11856b0bb1f71bf7ec954e04c71.zip |
* dir.cc (readdir_worker): Make static. Only add '.' and '..' when readdir
fails due to ENMFILE.
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Only close handle on
error != ENMFILE.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index f26c65dd8..f0d58de73 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1399,8 +1399,11 @@ fhandler_disk_file::readdir (DIR *dir, dirent *de) else { res = geterrno_from_win_error (); - FindClose (dir->__handle); - dir->__handle = INVALID_HANDLE_VALUE; + if (res != ENMFILE) + { + FindClose (dir->__handle); + dir->__handle = INVALID_HANDLE_VALUE; + } goto out; } } |