Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Sep 2011 23:49:59 +0000 (UTC)
From:      "David E. O'Brien" <obrien@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r225679 - projects/jbuild/usr.bin/jbuild/filemon
Message-ID:  <201109192349.p8JNnxhU001427@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: obrien
Date: Mon Sep 19 23:49:59 2011
New Revision: 225679
URL: http://svn.freebsd.org/changeset/base/225679

Log:
  free() filemon structs free list at module unload.

Modified:
  projects/jbuild/usr.bin/jbuild/filemon/filemon.c

Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon.c
==============================================================================
--- projects/jbuild/usr.bin/jbuild/filemon/filemon.c	Mon Sep 19 22:49:36 2011	(r225678)
+++ projects/jbuild/usr.bin/jbuild/filemon/filemon.c	Mon Sep 19 23:49:59 2011	(r225679)
@@ -1,4 +1,5 @@
 /*-
+ * Copyright (c) 2011, David E. O'Brien.
  * Copyright (c) 2009-2011, Juniper Networks, Inc.
  * All rights reserved.
  *
@@ -168,13 +169,6 @@ filemon_dtr(void *data)
 
 		if (fp != NULL)
 			fdrop(fp, curthread);
-
-#ifdef DOODAD
-		mtx_destroy(&filemon->mtx);
-		cv_destroy(&filemon->cv);
-
-		free(filemon, M_FILEMON);
-#endif
 	}
 }
 
@@ -298,6 +292,7 @@ filemon_load(void *dummy __unused)
 static int
 filemon_unload(void)
 {
+ 	struct filemon *filemon;
 	int error = 0;
 
 	/* Get exclusive write access. */
@@ -331,6 +326,15 @@ filemon_unload(void)
 			clone_cleanup(&filemon_clones);
 		}
 #endif
+		/* free() filemon structs free list. */
+		filemon_lock_write();
+		while ((filemon = TAILQ_FIRST(&filemons_free)) != NULL) {
+			TAILQ_REMOVE(&filemons_free, filemon, link);
+			mtx_destroy(&filemon->mtx);
+			cv_destroy(&filemon->cv);
+			free(filemon, M_FILEMON);
+		}
+		filemon_unlock_write();
 
 		mtx_destroy(&access_mtx);
 		cv_destroy(&access_cv);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109192349.p8JNnxhU001427>