summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-09-09 18:56:45 +0200
committerAlexander Larsson <alexl@redhat.com>2010-09-20 13:30:01 +0200
commita5ce2c0edb09c199cdf1c64f468579f9746c77aa (patch)
tree0a8e152c94dff159cf25c653617c8f928941541c
parent2f76d8e97482724543d1ce2e22339a4fd89e5480 (diff)
downloadspice-a5ce2c0edb09c199cdf1c64f468579f9746c77aa.tar.gz
spice-a5ce2c0edb09c199cdf1c64f468579f9746c77aa.tar.xz
spice-a5ce2c0edb09c199cdf1c64f468579f9746c77aa.zip
server: Ensure we flush the release pipe after an oom
We really need to flush the ring to ensure that we push something on the release ring. If we don't do this and the ring is not pushed for other reasons we will timeout in the guest driver waiting for the ring.
-rw-r--r--server/red_worker.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/server/red_worker.c b/server/red_worker.c
index eb56aa42..ef1c998a 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -9951,6 +9951,7 @@ static void handle_dev_input(EventListener *listener, uint32_t events)
red_printf("oom current %u pipe %u", worker->current_size, worker->display_channel ?
worker->display_channel->base.pipe_size : 0);
red_free_some(worker);
+ worker->qxl->st->qif->flush_resources(worker->qxl);
}
clear_bit(RED_WORKER_PENDING_OOM, worker->pending);
break;