[Spice-devel] [PATCH qemu-kvm-rhel6] Don't crash (on an assert) when the agent sends multiple messages

Alon Levy alevy at redhat.com
Wed Oct 13 01:41:54 PDT 2010


ack

----- "Hans de Goede" <hdegoede at redhat.com> wrote:

> Don't crash (on an assert) when the agent sends multiple messages
> in quick succession. The solution was taken from the current
> qemu-spice
> code.
> ---
>  hw/spice-vmc.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/spice-vmc.c b/hw/spice-vmc.c
> index 9a20952..8f1417b 100644
> --- a/hw/spice-vmc.c
> +++ b/hw/spice-vmc.c
> @@ -120,6 +120,8 @@ static int spice_vmc_interface_read(
>          assert(svc->datalen >= 0);
>          if (svc->datalen == 0) {
>              svc->datapos = NULL;
> +            virtio_serial_throttle_port(&svc->vserport, false);
> +            // ^^^ !!! may call vmc_have_data, so don't touch svc
> after it!
>          }
>      }
>      return bytes;
> @@ -213,6 +215,7 @@ static void spice_vmc_have_data(
>      svc->datapos = (uint8_t*)buf;
>      svc->datalen = len;
>      dprintf(svc, 2, "%s: %p %d\n", __func__, svc->datapos,
> svc->datalen);
> +    virtio_serial_throttle_port(&svc->vserport, true);
>      if (svc->plug) {
>          svc->plug->wakeup(svc->plug);
>      }
> -- 
> 1.7.3.1
> 
> _______________________________________________
> 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