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>