diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-07-09 17:02:37 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-07-09 17:02:37 +0000 |
commit | 281bd334ac254ee5b9c875f55980444069489395 (patch) | |
tree | baf8138dfa77feda314c53a2d8012ebc03280379 /winsup/cygwin/fhandler_virtual.cc | |
parent | bffcbe34be65c4c915beca491d35650858d00e4a (diff) | |
download | cygnal-281bd334ac254ee5b9c875f55980444069489395.tar.gz cygnal-281bd334ac254ee5b9c875f55980444069489395.tar.bz2 cygnal-281bd334ac254ee5b9c875f55980444069489395.zip |
* dir.cc (closedir): Revert change from 2007-06-29.
* fhandler.h (dirent_valid_fd): Drop.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): If opening a
real dir, use the underlying fhandler to keep track of the directory
handle. In fdopendir case use original io_handle from fhandler. Use
fhandler's io_handle in subsequent directory functions throughout.
Create handle non-inheritable and set close-on-exec flag.
(readdir_get_ino): Drop dirent_isroot case.
(fhandler_disk_file::readdir): Handle dirent_isroot case here.
(fhandler_disk_file::rewinddir): Revert change from 2007-07-05. Use
NtClose instead of CloseHandle.
* fhandler_virtual.cc (fhandler_virtual::opendir): Drop adding
dirent_valid_fd flag. Set close-on-exec flag.
Diffstat (limited to 'winsup/cygwin/fhandler_virtual.cc')
-rw-r--r-- | winsup/cygwin/fhandler_virtual.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_virtual.cc b/winsup/cygwin/fhandler_virtual.cc index f5a9f7eeb..4db2cf726 100644 --- a/winsup/cygwin/fhandler_virtual.cc +++ b/winsup/cygwin/fhandler_virtual.cc @@ -80,7 +80,6 @@ fhandler_virtual::opendir (int fd) if (fd >= 0) { - dir->__flags |= dirent_valid_fd; dir->__d_fd = fd; res = dir; dir->__fh = this; @@ -98,6 +97,7 @@ fhandler_virtual::opendir (int fd) res = dir; } } + close_on_exec (true); } syscall_printf ("%p = opendir (%s)", res, get_name ()); |