On Thu, May 24, 2012 at 11:32:04AM +0300, Yonit Halperin wrote: > The above routine was risky, since red_channel_client_init_send_data > can also be called with item==NULL. Thus, not all pipe items can be tracked. > The one call that was made for this routine was not necessary. Looks good, ACK both. > --- > server/red_channel.c | 19 ------------------- > server/red_channel.h | 9 --------- > server/red_worker.c | 4 +--- > 3 files changed, 1 insertions(+), 31 deletions(-) > > diff --git a/server/red_channel.c b/server/red_channel.c > index a7ef934..83a9f37 100644 > --- a/server/red_channel.c > +++ b/server/red_channel.c > @@ -1374,25 +1374,6 @@ int red_channel_get_first_socket(RedChannel *channel) > RedChannelClient, channel_link)->stream->socket; > } > > -int red_channel_client_item_being_sent(RedChannelClient *rcc, PipeItem *item) > -{ > - return rcc->send_data.item == item; > -} > - > -int red_channel_item_being_sent(RedChannel *channel, PipeItem *item) > -{ > - RingItem *link; > - RedChannelClient *rcc; > - > - RING_FOREACH(link, &channel->clients) { > - rcc = SPICE_CONTAINEROF(link, RedChannelClient, channel_link); > - if (rcc->send_data.item == item) { > - return TRUE; > - } > - } > - return FALSE; > -} > - > int red_channel_no_item_being_sent(RedChannel *channel) > { > RingItem *link; > diff --git a/server/red_channel.h b/server/red_channel.h > index 5418210..765b74e 100644 > --- a/server/red_channel.h > +++ b/server/red_channel.h > @@ -432,15 +432,6 @@ int red_channel_client_blocked(RedChannelClient *rcc); > /* helper for channels that have complex logic that can possibly ready a send */ > int red_channel_client_send_message_pending(RedChannelClient *rcc); > > -/* returns TRUE if item is being sent by one of the channel clients. This will > - * be true if someone called init_send_data but send has not completed (or perhaps > - * hasn't even begun, i.e. no one called begin_send_). > - * However, note that red_channel_client_init_send_data can also be called with > - * item==NULL, thus not all pipe items can be tracked. > - */ > -int red_channel_item_being_sent(RedChannel *channel, PipeItem *item); > -int red_channel_client_item_being_sent(RedChannelClient *rcc, PipeItem *item); > - > int red_channel_no_item_being_sent(RedChannel *channel); > int red_channel_client_no_item_being_sent(RedChannelClient *rcc); > > diff --git a/server/red_worker.c b/server/red_worker.c > index 9e5624b..2709486 100644 > --- a/server/red_worker.c > +++ b/server/red_worker.c > @@ -10364,9 +10364,7 @@ static void red_wait_pipe_item_sent(RedChannelClient *rcc, PipeItem *item) > spice_printerr("timeout"); > red_channel_client_disconnect(rcc); > } else { > - if (red_channel_client_item_being_sent(rcc, item)) { > - red_wait_outgoing_item(rcc); > - } > + red_wait_outgoing_item(rcc); > } > channel->channel_cbs.release_item(rcc, item, FALSE); > } > -- > 1.7.7.6 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel