mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-14 20:31:17 +00:00
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
This commit is contained in:
parent
159fee00c2
commit
bb6747b3d5
@ -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;
|
||||
|
||||
@ -80,6 +80,8 @@ struct SpiceNetWireState {
|
||||
struct TunnelWorker *worker;
|
||||
};
|
||||
|
||||
void reds_channel_dispose(Channel *channel);
|
||||
|
||||
ssize_t reds_stream_read(RedsStream *s, void *buf, size_t nbyte);
|
||||
ssize_t reds_stream_write(RedsStream *s, const void *buf, size_t nbyte);
|
||||
ssize_t reds_stream_writev(RedsStream *s, const struct iovec *iov, int iovcnt);
|
||||
|
||||
@ -1236,8 +1236,7 @@ static void snd_detach_common(SndWorker *worker)
|
||||
snd_disconnect_channel(worker->connection);
|
||||
reds_unregister_channel(&worker->base);
|
||||
|
||||
free(worker->base.common_caps);
|
||||
free(worker->base.caps);
|
||||
reds_channel_dispose(&worker->base);
|
||||
}
|
||||
|
||||
void snd_detach_playback(SpicePlaybackInstance *sin)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user