OSDN Git Service

* fhandler_proc.cc (fhandler_proc::closedir): Don't free, but delete
authorcorinna <corinna>
Fri, 12 Aug 2011 12:35:37 +0000 (12:35 +0000)
committercorinna <corinna>
Fri, 12 Aug 2011 12:35:37 +0000 (12:35 +0000)
instead.

Also fix previous ChangeLog entry.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler_proc.cc

index 933769a..9c6ece8 100644 (file)
@@ -1,10 +1,18 @@
 2011-08-12  Corinna Vinschen  <corinna@vinschen.de>
 
+       * fhandler_proc.cc (fhandler_proc::closedir): Don't free, but delete
+       instead.
+
+2011-08-12  Corinna Vinschen  <corinna@vinschen.de>
+
        * fhandler.h (fhandler_proc::opendir): Declare.
        (fhandler_proc::closedir): Declare.
        * fhandler_proc.cc (fhandler_proc::opendir): New method.  Fetch list
-       of active processes here once to avoid potential duplicates.
-       (fhandler_proc::closedir): New method.
+       of active processes here once to avoid potential duplicates and store
+       in dir->__handle.
+       (fhandler_proc::closedir): New method.  Free dir->__handle.
+       (fhandler_proc::readdir): Convert pinfo into a reference to the winpids
+       entry in dir->__handle.
 
 2011-08-11  Corinna Vinschen  <corinna@vinschen.de>
 
index 94007ca..74c4cf2 100644 (file)
@@ -236,7 +236,7 @@ fhandler_proc::opendir (int fd)
 int
 fhandler_proc::closedir (DIR *dir)
 {
-  free (dir->__handle);
+  delete (winpids *) dir->__handle;
   return fhandler_virtual::closedir (dir);
 }