deal properly with recursive module unloading

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1174 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2006-07-31 21:53:48 +00:00
parent e2e94ca47c
commit ccf67d2988

View file

@ -224,10 +224,14 @@ static void free_callback(void *p, PA_GCC_UNUSED void *userdata) {
void pa_module_unload_all(pa_core *c) { void pa_module_unload_all(pa_core *c) {
assert(c); assert(c);
pa_module *m;
if (!c->modules) if (!c->modules)
return; return;
while ((m = pa_idxset_first(c->modules, NULL)))
pa_module_unload(c, m);
pa_idxset_free(c->modules, free_callback, NULL); pa_idxset_free(c->modules, free_callback, NULL);
c->modules = NULL; c->modules = NULL;