summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc7
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;
}
}