vnc: fix local state init

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 1446203414-4013-16-git-send-email-kraxel@redhat.com
This commit is contained in:
Gerd Hoffmann 2015-10-30 12:10:10 +01:00
parent c7628bff41
commit 2e0c90af0a

View File

@ -185,6 +185,9 @@ void vnc_jobs_consume_buffer(VncState *vs)
*/ */
static void vnc_async_encoding_start(VncState *orig, VncState *local) static void vnc_async_encoding_start(VncState *orig, VncState *local)
{ {
buffer_init(&local->output, "vnc-worker-output");
local->csock = -1; /* Don't do any network work on this thread */
local->vnc_encoding = orig->vnc_encoding; local->vnc_encoding = orig->vnc_encoding;
local->features = orig->features; local->features = orig->features;
local->vd = orig->vd; local->vd = orig->vd;
@ -196,7 +199,6 @@ static void vnc_async_encoding_start(VncState *orig, VncState *local)
local->zlib = orig->zlib; local->zlib = orig->zlib;
local->hextile = orig->hextile; local->hextile = orig->hextile;
local->zrle = orig->zrle; local->zrle = orig->zrle;
local->csock = -1; /* Don't do any network work on this thread */
} }
static void vnc_async_encoding_end(VncState *orig, VncState *local) static void vnc_async_encoding_end(VncState *orig, VncState *local)
@ -212,12 +214,10 @@ static int vnc_worker_thread_loop(VncJobQueue *queue)
{ {
VncJob *job; VncJob *job;
VncRectEntry *entry, *tmp; VncRectEntry *entry, *tmp;
VncState vs; VncState vs = {};
int n_rectangles; int n_rectangles;
int saved_offset; int saved_offset;
buffer_init(&vs.output, "vnc-worker-output");
vnc_lock_queue(queue); vnc_lock_queue(queue);
while (QTAILQ_EMPTY(&queue->jobs) && !queue->exit) { while (QTAILQ_EMPTY(&queue->jobs) && !queue->exit) {
qemu_cond_wait(&queue->cond, &queue->mutex); qemu_cond_wait(&queue->cond, &queue->mutex);