[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] vnc: qemu can die if the client is disconnected whi
From: |
Corentin Chary |
Subject: |
[Qemu-devel] [PATCH] vnc: qemu can die if the client is disconnected while updating screen |
Date: |
Fri, 26 Nov 2010 16:22:15 +0100 |
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. The unlocking call doesn't fail (pthread bug ?), but
the destroy call does.
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.2
- [Qemu-devel] [PATCH] vnc: qemu can die if the client is disconnected while updating screen,
Corentin Chary <=