tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: devmon-lite for 5.0



Jachym Holecek wrote:
# Jared D. McNeill 2008-05-29:
On Thu, 29 May 2008, Jachym Holecek wrote:
Drvctl_close() should release dce_event object when flushing event
queue.

I mean the event plist to which drvctl holds the last reference.

It does (are you looking at the code in-tree?),

I was looking at the URL you posted, but -current has the same
problem unless I'm missing something (see patch below).

        -- Jachym

Index: sys/kern/kern_drvctl.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_drvctl.c,v
retrieving revision 1.17
diff -u -r1.17 kern_drvctl.c
--- sys/kern/kern_drvctl.c      25 May 2008 12:30:40 -0000      1.17
+++ sys/kern/kern_drvctl.c      30 May 2008 14:44:15 -0000
@@ -128,6 +128,8 @@
        if (drvctl_eventcnt == DRVCTL_EVENTQ_DEPTH) {
                odce = TAILQ_FIRST(&drvctl_eventq);
                TAILQ_REMOVE(&drvctl_eventq, odce, dce_link);
+               prop_object_release(odce->dce_event);
+               kmem_free(odce, sizeof(*odce));
                --drvctl_eventcnt;
        }
@@ -372,6 +374,7 @@
                        TAILQ_REMOVE(&drvctl_eventq, dce, dce_link);
                        KASSERT(drvctl_eventcnt > 0);
                        --drvctl_eventcnt;
+                       prop_object_release(dce->dce_event);
                        kmem_free(dce, sizeof(*dce));
                }
        }

You're right, good catch. Feel free to commit.

Cheers,



Home | Main Index | Thread Index | Old Index