[Spice-devel] [spice-server 2/3] Fix some small red_channel_client_msg_sent() regression
Jonathon Jongsma
jjongsma at redhat.com
Tue Apr 11 15:53:17 UTC 2017
On Tue, 2017-04-11 at 11:58 +0200, Christophe Fergeau wrote:
> Commit 0239dfa added a call to red_channel_client_clear_sent_item()
> to
> red_channel_client_msg_sent(). One of the thing that
> red_channel_client_msg_sent() does is to reset rcc->priv-
> >send_data.blocked
> to FALSE.
>
> This means that the preexisting check for this value in
> red_channel_client_msg_sent() became dead code as it comes right
> after
> the call to red_channel_client_clear_sent_item():
>
> red_channel_client_clear_sent_item(rcc);
> if (red_channel_client_is_blocked(rcc)) {
> [...]
> }
>
> This commit moves the red_channel_client_clear_sent_item(); right
> after
> this check in order to avoid checking for a value which will always
> be
> FALSE.
Interesting. How did you find this? Did it cause some problem that you
observed?
Jonathon
>
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
> ---
> server/red-channel-client.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/server/red-channel-client.c b/server/red-channel-
> client.c
> index f9054ea..0b04c96 100644
> --- a/server/red-channel-client.c
> +++ b/server/red-channel-client.c
> @@ -639,13 +639,13 @@ static void
> red_channel_client_msg_sent(RedChannelClient *rcc)
> close(fd);
> }
>
> - red_channel_client_clear_sent_item(rcc);
> if (red_channel_client_is_blocked(rcc)) {
> SpiceCoreInterfaceInternal *core =
> red_channel_get_core_interface(rcc->priv->channel);
> rcc->priv->send_data.blocked = FALSE;
> core->watch_update_mask(core, rcc->priv->stream->watch,
> SPICE_WATCH_EVENT_READ);
> }
> + red_channel_client_clear_sent_item(rcc);
>
> if (red_channel_client_urgent_marshaller_is_active(rcc)) {
> red_channel_client_restore_main_sender(rcc);
More information about the Spice-devel
mailing list