aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/soup_input_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-08-24 18:20:53 +0200
committerMax Kellermann <max@duempel.org>2011-08-24 19:31:59 +0200
commit5bba2df526ba47b46da380074cb66de266d7fa80 (patch)
treeec6b4be8a0ccd0c1d5f5ad367f54bddb0659afdd /src/input/soup_input_plugin.c
parent193569444059c9b9e1f6f6aa1a6b7904822bfe56 (diff)
downloadmpd-5bba2df526ba47b46da380074cb66de266d7fa80.tar.gz
mpd-5bba2df526ba47b46da380074cb66de266d7fa80.tar.xz
mpd-5bba2df526ba47b46da380074cb66de266d7fa80.zip
input/soup: free all resources in method close()
Diffstat (limited to 'src/input/soup_input_plugin.c')
-rw-r--r--src/input/soup_input_plugin.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/input/soup_input_plugin.c b/src/input/soup_input_plugin.c
index 7ceabbc62..b732f2e15 100644
--- a/src/input/soup_input_plugin.c
+++ b/src/input/soup_input_plugin.c
@@ -251,6 +251,16 @@ input_soup_close(struct input_stream *is)
}
g_mutex_unlock(s->mutex);
+ g_mutex_free(s->mutex);
+ g_cond_free(s->cond);
+
+ SoupBuffer *buffer;
+ while ((buffer = g_queue_pop_head(s->buffers)) != NULL)
+ soup_buffer_free(buffer);
+ g_queue_free(s->buffers);
+
+ input_stream_deinit(&s->base);
+ g_free(s);
}
static int