From: Li Liang <liangx.z...@intel.com> This bug was introduced in the commit 9005b2a7589540a3733b3abdcfbccfe7746cd1a1, it will cause deadlock when create a vm with the parameter "-monitor pty" and then try to read from /dev/pts/x.
Signed-off-by: Li Liang <liangx.z...@intel.com> --- qemu-char.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qemu-char.c b/qemu-char.c index 55e372c..55cdded 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -1103,9 +1103,11 @@ static gboolean pty_chr_timer(gpointer opaque) s->timer_tag = 0; if (!s->connected) { /* Next poll ... */ + qemu_mutex_unlock(&chr->chr_write_lock); pty_chr_update_read_handler_locked(chr); + } else { + qemu_mutex_unlock(&chr->chr_write_lock); } - qemu_mutex_unlock(&chr->chr_write_lock); return FALSE; } -- 1.9.1