> > On Wed, Nov 30, 2016 at 12:34:52PM +0000, Frediano Ziglio wrote: > > Avoid having dandling pointer to a client. > > 'dangling' > I though I merged this patch in "sound: Convert SndChannelClient to GObject". I did some mistake probably, but will be merged to that patch anyway. > > > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > > --- > > server/sound.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/server/sound.c b/server/sound.c > > index a5b960b..00eab67 100644 > > --- a/server/sound.c > > +++ b/server/sound.c > > @@ -773,6 +773,14 @@ static int snd_channel_config_socket(RedChannelClient > > *rcc) > > return TRUE; > > } > > > > +static void snd_channel_on_disconnect(RedChannelClient *rcc) > > +{ > > + SndChannel *channel = > > SND_CHANNEL(red_channel_client_get_channel(rcc)); > > + if (channel->connection && rcc == > > RED_CHANNEL_CLIENT(channel->connection)) { > > Is it expected that channel->connection will sometimes not be equal to rcc > here? Or > should it issue some kind of runtime warning if this happens? > I think is quite paranoid check. There is currently only one client so channel->connection should be the same. Maybe could happen that a second client connect basically kicking out the old one so possibly this could be the onle reason having channel->connection && rcc != channel->connection. I was thinking to remove the connection field and use client list from RedChannel instead. I was thinking also to add support for multiple clients to the code as an improvement and as a demonstration that current code is better than what it used to be but I don't know what to do for the recording! Mix all recordings? Keep a main client channel and discard the others? > > + channel->connection = NULL; > > Christophe > Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel