[Spice-devel] [PATCH spice-server 1/2] server/red_channel: remove red_channel_client_item_being_sent
Alon Levy
alevy at redhat.com
Thu May 24 02:22:36 PDT 2012
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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list