summaryrefslogtreecommitdiffstats
path: root/server/reds.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2011-02-22 03:52:38 +0100
committerAlon Levy <alevy@redhat.com>2011-07-21 15:09:26 +0300
commitbb6747b3d5ca52810eb0c9e12286262491e34559 (patch)
treec7ceff8b788f5ec3d488ba52f054f4477c80eacd /server/reds.c
parent159fee00c2a56426181f266570b7212744ba5e9e (diff)
downloadspice-bb6747b3d5ca52810eb0c9e12286262491e34559.tar.gz
spice-bb6747b3d5ca52810eb0c9e12286262491e34559.tar.xz
spice-bb6747b3d5ca52810eb0c9e12286262491e34559.zip
server: add reds_channel_dispose()
Try to have a common base dispose() method for channels. For now, it just free the caps. Make use of it in snd_worker, and in sync_write() - sync_write() is going to have default caps later on. https://bugs.freedesktop.org/show_bug.cgi?id=34795
Diffstat (limited to 'server/reds.c')
-rw-r--r--server/reds.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/server/reds.c b/server/reds.c
index 9305198b..999adfe6 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -1881,6 +1881,17 @@ static int sync_write(RedsStream *stream, const void *in_buf, size_t n)
return TRUE;
}
+void reds_channel_dispose(Channel *channel)
+{
+ free(channel->caps);
+ channel->caps = NULL;
+ channel->num_caps = 0;
+
+ free(channel->common_caps);
+ channel->common_caps = NULL;
+ channel->num_common_caps = 0;
+}
+
static int reds_send_link_ack(RedLinkInfo *link)
{
SpiceLinkHeader header;