Skip to content
  • Volker Rümelin's avatar
    584af1f1
    ui/gtk: add a keyboard fifo to the VTE consoles · 584af1f1
    Volker Rümelin authored
    
    
    Since commit 8eb13bbb ("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. That's because
    current code uses a busy loop for the chardev write retries
    and the busy loop doesn't terminate in this case.
    
    To fix this problem add a fifo to the VTE consoles and use the
    chr_accept_input() callback function to write the remaining
    characters in the queue to the chardev.
    
    The fifo has a size of 4096 bytes, so one can copy and paste
    a fairly large URL or file path.
    
    Fixes: 8eb13bbb ("ui/gtk: vte: fix sending multiple characeters")
    Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
    Message-Id: <20210725165039.5242-1-vr_qemu@t-online.de>
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    584af1f1
    ui/gtk: add a keyboard fifo to the VTE consoles
    Volker Rümelin authored
    
    
    Since commit 8eb13bbb ("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. That's because
    current code uses a busy loop for the chardev write retries
    and the busy loop doesn't terminate in this case.
    
    To fix this problem add a fifo to the VTE consoles and use the
    chr_accept_input() callback function to write the remaining
    characters in the queue to the chardev.
    
    The fifo has a size of 4096 bytes, so one can copy and paste
    a fairly large URL or file path.
    
    Fixes: 8eb13bbb ("ui/gtk: vte: fix sending multiple characeters")
    Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
    Message-Id: <20210725165039.5242-1-vr_qemu@t-online.de>
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Loading