On Sat, Feb 16, 2002 at 01:02:09AM -0800, Terry Lambert wrote:
> Pretty clearly, if it happens, and the process is truly
> gone, then there is a resource track cleanup that's
> missing (perhaps it's a reference that results from the
> Linux mmap resource track cleanup not releasing it?).

It was indeed a linux_compat specific resource cleanup issue.

I managed to create a simple linux program that had the same problem. From 
there on it was easy...

The problem was created by Alfred's locking commit of Jan 13.
(No hard feelings, it helped me to understand the code alot better! ;) )

Can someone please commit the attached (trivial) patch?


ps. there might be more pieces of code like this maybe.

Mark Santcroos                          RIPE Network Coordination Centre
http://www.ripe.net/home/mark/          New Projects Group/TTM
--- linux_ioctl.c.orig  Wed Feb 20 12:34:46 2002
+++ linux_ioctl.c       Wed Feb 20 12:35:06 2002
@@ -2313,9 +2313,10 @@
        TAILQ_FOREACH(he, &handlers, list) {
                if (cmd >= he->low && cmd <= he->high) {
                        error = (*he->func)(td, args);
-                       if (error != ENOIOCTL)
+                       if (error != ENOIOCTL) {
                                fdrop(fp, td);
                                return (error);
+                       }
        fdrop(fp, td);

Reply via email to