diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-07-17 13:22:21 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-07-17 13:22:21 +0000 |
commit | 822036b6c9b92bb5a32efdc29a049ce18073b09c (patch) | |
tree | 54488e770c0b53a54016d3acecf86b6ce6c54826 | |
parent | 77ee88050494f6fb0921f7d29c1a7ca7dfa7dcd7 (diff) | |
download | cygnal-822036b6c9b92bb5a32efdc29a049ce18073b09c.tar.gz cygnal-822036b6c9b92bb5a32efdc29a049ce18073b09c.tar.bz2 cygnal-822036b6c9b92bb5a32efdc29a049ce18073b09c.zip |
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Move setting
cfd->nohandle where it won't crash.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index ec55374af..50a09c106 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2007-07-17 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_disk_file.cc (fhandler_disk_file::opendir): Move setting + cfd->nohandle where it won't crash. + 2007-07-16 Corinna Vinschen <corinna@vinschen.de> * cygheap.h (cygheap_user::curr_imp_token): Rename from current_token. diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 34d95bc6b..17c93be9a 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1566,9 +1566,7 @@ fhandler_disk_file::opendir (int fd) dir->__d_internal = (unsigned) new __DIR_mounts (pc.normalized_path); d_cachepos (dir) = 0; - if (pc.iscygdrive ()) - cfd->nohandle (true); - else + if (!pc.iscygdrive ()) { if (fd < 0) { @@ -1623,6 +1621,8 @@ fhandler_disk_file::opendir (int fd) time on exit. Nasty, nasty... */ cfd = this; dir->__d_fd = cfd; + if (pc.iscygdrive ()) + cfd->nohandle (true); } set_close_on_exec (true); dir->__fh = this; |