On Mon, 19 Jul 2021 at 19:22, Volker Rümelin <vr_q...@t-online.de> wrote:
>
> Am 18.07.21 um 15:00 schrieb Peter Maydell:
>
> > On Sun, 18 Jul 2021 at 08:50, Volker Rümelin <vr_q...@t-online.de> wrote:
> >> Since commit 8eb13bbbac ("ui/gtk: vte: fix sending multiple
> >> characeters") it's very easy to lock up QEMU with the gtk ui.
> >> If you configure a guest with a serial device and the guest
> >> doesn't listen on this device, QEMU will lock up after
> >> entering two characters in the serial console.
> >>
> >> To fix this problem copy the function kbd_send_chars() and
> >> related code from ui/console.c to ui/gtk.c. kbd_send_chars()
> >> doesn't lock up because it uses a timer instead of a busy loop
> >> for the write retries.
> >>
> >> Fixes: 8eb13bbbac ("ui/gtk: vte: fix sending multiple characeters")
> >> Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
> >> ---
> >>   include/ui/gtk.h |  5 +++++
> >>   ui/gtk.c         | 53 ++++++++++++++++++++++++++++++++++++++++--------
> >>   2 files changed, 50 insertions(+), 8 deletions(-)
> > This feels like maybe it's the kind of thing that should be handled
> > more generically rather than in one particular UI frontend ?

> All other UI frontends (except Spice) use the correct code in
> kbd_send_chars(). I think only the GTK UI code is wrong.

Why isn't GTK able to do things the same way all the other UI
frontends do, then ?

-- PMM

Reply via email to