summaryrefslogtreecommitdiffstats
path: root/server
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 /server
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.
Diffstat (limited to 'server')
-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;