From ccf67d2988521a8caf14ef1d650dcab4764462e4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 31 Jul 2006 21:53:48 +0000 Subject: deal properly with recursive module unloading git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1174 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/pulsecore/module.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/pulsecore/module.c') diff --git a/src/pulsecore/module.c b/src/pulsecore/module.c index e7dca78d..3568059e 100644 --- a/src/pulsecore/module.c +++ b/src/pulsecore/module.c @@ -224,10 +224,14 @@ static void free_callback(void *p, PA_GCC_UNUSED void *userdata) { void pa_module_unload_all(pa_core *c) { assert(c); + pa_module *m; if (!c->modules) return; + while ((m = pa_idxset_first(c->modules, NULL))) + pa_module_unload(c, m); + pa_idxset_free(c->modules, free_callback, NULL); c->modules = NULL; -- cgit