qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 2/2] vnc: qemu can die if the client is disconnected


From: Corentin Chary
Subject: [Qemu-devel] [PATCH 2/2] vnc: qemu can die if the client is disconnected while updating screen
Date: Tue, 25 Jan 2011 09:33:27 +0100

From: Corentin Chary <address@hidden>

agraf reported that qemu_mutex_destroy(vs->output_mutex) was failing
in vnc_disconnect_finish() when the vnc client was disconnected while
updating the screen.

It's because vnc_worker_thread_loop() tries to unlock the mutex while
not locked.

Signed-off-by: Corentin Chary <address@hidden>
---
 ui/vnc-jobs-async.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/ui/vnc-jobs-async.c b/ui/vnc-jobs-async.c
index 6e9cf08..0b5d750 100644
--- a/ui/vnc-jobs-async.c
+++ b/ui/vnc-jobs-async.c
@@ -227,6 +227,10 @@ static int vnc_worker_thread_loop(VncJobQueue *queue)
 
         if (job->vs->csock == -1) {
             vnc_unlock_display(job->vs->vd);
+            /* output mutex must be locked before going to
+             * disconnected:
+             */
+            vnc_lock_output(job->vs);
             goto disconnected;
         }
 
-- 
1.7.3.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]