qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 0/4] ui/console: Remove console_select()


From: Marc-André Lureau
Subject: Re: [PATCH v2 0/4] ui/console: Remove console_select()
Date: Tue, 19 Mar 2024 12:29:43 +0400

Hi Akihiko

On Tue, Mar 19, 2024 at 7:09 AM Akihiko Odaki <akihiko.odaki@daynix.com> wrote:
>
> ui/console has a concept of "active" console; the active console is used
> when NULL is set for DisplayListener::con, and console_select() updates
> the active console state. However, the global nature of the state cause
> odd behaviors, and replacing NULL with the active console also resulted
> in extra code. Remove it to solve these problems.
>
> The active console state is shared, so if there are two displays
> referring to the active console, switching the console for one will also
> affect the other. All displays that use the active console state,
> namely cocoa, curses, and vnc, need to reset some of its state before
> switching the console, and such a reset operation cannot be performed if
> the console is switched by another display. This can result in stuck
> keys, for example.
>
> While the active console state is shared, displays other than cocoa,
> curses, and vnc don't update the state. A chardev-vc inherits the
> size of the active console, but it does not make sense for such a
> display.
>
> This series removes the shared "active" console state from ui/console.
> curses, cocoa, and vnc will hold the reference to the console currently
> shown with DisplayListener::con. This also eliminates the need to
> replace NULL with the active console and save code.
>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>

lgtm
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

I am willing to take that for 9.0. Is there any bug already opened
about the issues it solves?

> ---
> Changes in v2:
> - Changed to fall back to a text console if there is no graphical
>   console as previously done.
> - Link to v1: 
> 20240318-console-v1-0-f4efbfa71253@daynix.com">https://lore.kernel.org/r/20240318-console-v1-0-f4efbfa71253@daynix.com
>
> ---
> Akihiko Odaki (4):
>       ui/vc: Do not inherit the size of active console
>       ui/vnc: Do not use console_select()
>       ui/cocoa: Do not use console_select()
>       ui/curses: Do not use console_select()
>
>  include/ui/console.h   |   2 +-
>  include/ui/kbd-state.h |  11 ++++
>  ui/console-priv.h      |   2 +-
>  ui/console-vc-stubs.c  |   2 +-
>  ui/console-vc.c        |   7 ++-
>  ui/console.c           | 133 
> ++++++++++++-------------------------------------
>  ui/curses.c            |  48 ++++++++++--------
>  ui/kbd-state.c         |   6 +++
>  ui/vnc.c               |  14 ++++--
>  ui/cocoa.m             |  37 ++++++++++----
>  10 files changed, 118 insertions(+), 144 deletions(-)
> ---
> base-commit: ba49d760eb04630e7b15f423ebecf6c871b8f77b
> change-id: 20240317-console-6744d4ab8ba6
>
> Best regards,
> --
> Akihiko Odaki <akihiko.odaki@daynix.com>
>
>


-- 
Marc-André Lureau



reply via email to

[Prev in Thread] Current Thread [Next in Thread]