On Wed, Jun 29, 2011 at 03:06:33PM +0200, Gerd Hoffmann wrote: > Hi, > > >+ case QXL_IO_FLUSH_SURFACES: > >+ dprint(d, 1, "QXL_IO_FLUSH_SURFACES (%d) entry (%s, s#=%d, > >res#=%d)\n", > >+ val, qxl_mode_to_string(d->mode), d->guest_surfaces.count, > >+ d->num_free_res); > >+ qemu_spice_stop(&d->ssd); > >+ qemu_spice_start(&d->ssd); > >+ dprint(d, 1, "QXL_IO_FLUSH_SURFACES exit (%s, s#=%d, res#=%d,%p)\n", > >+ qxl_mode_to_string(d->mode), d->guest_surfaces.count, > >+ d->num_free_res, d->last_release); > >+ break; > > This should be async as we'll go sleep and wait for the spice server > thread finish in qemu_spice_stop().
ok, so don't cherry-pick the ioport_to_string patch yet since I'm doing s/FLUSH_SURFACES/FLUSH_SURFACES_ASYNC/ > > >+ case QXL_IO_FLUSH_RELEASE: { > >+ QXLReleaseRing *ring =&d->ram->release_ring; > >+ if (ring->prod - ring->cons + 1 == ring->num_items) { > >+ // TODO - "return" a value to the guest and let it loop? > ^^^^ > Hmm. > > cheers, > Gerd >