Commit 73eb4c04 authored by Corentin Chary's avatar Corentin Chary Committed by Anthony Liguori
Browse files

vnc: qemu can die if the client is disconnected while updating screen

agraf reported that qemu_mutex_destroy(vs->output_mutex) while failing
in vnc_disconnect_finish().

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: default avatarCorentin Chary <>
Signed-off-by: default avatarAnthony Liguori <>
parent 7185f931
...@@ -227,6 +227,10 @@ static int vnc_worker_thread_loop(VncJobQueue *queue) ...@@ -227,6 +227,10 @@ static int vnc_worker_thread_loop(VncJobQueue *queue)
if (job->vs->csock == -1) { if (job->vs->csock == -1) {
vnc_unlock_display(job->vs->vd); vnc_unlock_display(job->vs->vd);
/* output mutex must be locked before going to
* disconnected:
goto disconnected; goto disconnected;
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment