OSDN Git Service

* fhandler_disk_file.cc (fhandler_disk_file::closedir): Fix bug
authorcorinna <corinna>
Thu, 22 Feb 2007 15:07:19 +0000 (15:07 +0000)
committercorinna <corinna>
Thu, 22 Feb 2007 15:07:19 +0000 (15:07 +0000)
introduced by switching to NtClose.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler_disk_file.cc

index 37f3dd9..8c99c3c 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::closedir): Fix bug
+       introduced by switching to NtClose.
+
 2007-02-22  Christopher Faylor  <me@cgf.cx>
 
        * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Change sense of
index 94a94b8..9bc7b83 100644 (file)
@@ -1873,6 +1873,8 @@ int
 fhandler_disk_file::closedir (DIR *dir)
 {
   int res = 0;
+  NTSTATUS status;
+
   delete d_mounts (dir);
   if (!dir->__handle)
     /* ignore */;
@@ -1881,9 +1883,9 @@ fhandler_disk_file::closedir (DIR *dir)
       set_errno (EBADF);
       res = -1;
     }
-  else if (!NtClose (dir->__handle))
+  else if (!NT_SUCCESS (status = NtClose (dir->__handle)))
     {
-      __seterrno ();
+      __seterrno_from_nt_status (status);
       res = -1;
     }
   syscall_printf ("%d = closedir (%p, %s)", res, dir, get_name ());