On Fri, 11 Jul 2014 11:07:15 +0200 Markus Armbruster <arm...@redhat.com> wrote:
> Cc'ing folks involved in the flawed commit. > > Liliang <liangx.z...@intel.com> writes: > > > 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> > > Long lines in commit message, and the subject isn't as informative as it > could be. Suggest something like: > > qemu-char: Fix deadlock in pty character device > > To reproduce, run with "-monitor pty", then try to read from the > slave /dev/pts/FOO created for it. > > Broken in commit 9005b2a. Paolo posted a pull request today with a fix for this issue included: [PULL 2/5] qemu-char: fix deadlock with "-monitor pty" Thanks Paolo! > > > --- > > 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; > > } >