On Mon, Jul 22, 2024 at 1:19 PM songziming <[email protected]> wrote:
> Hi > > I've updated the patch. > > Now it only reset mode if handle is valid. > > you lost the commit message, and the subject does not' have a version tag (see https://www.qemu.org/docs/master/devel/submitting-a-patch.html#when-resending-patches-add-a-version-tag ) thanks > Signed-off-by: Ziming Song <[email protected]> > > --- > chardev/char-win-stdio.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/chardev/char-win-stdio.c b/chardev/char-win-stdio.c > index 1a18999..13325ca 100644 > --- a/chardev/char-win-stdio.c > +++ b/chardev/char-win-stdio.c > @@ -33,6 +33,7 @@ > struct WinStdioChardev { > Chardev parent; > HANDLE hStdIn; > + DWORD dwOldMode; > HANDLE hInputReadyEvent; > HANDLE hInputDoneEvent; > HANDLE hInputThread; > @@ -159,6 +160,7 @@ static void qemu_chr_open_stdio(Chardev *chr, > } > > is_console = GetConsoleMode(stdio->hStdIn, &dwMode) != 0; > + stdio->dwOldMode = dwMode; > > if (is_console) { > if (qemu_add_wait_object(stdio->hStdIn, > @@ -221,6 +223,9 @@ static void char_win_stdio_finalize(Object *obj) > { > WinStdioChardev *stdio = WIN_STDIO_CHARDEV(obj); > > + if (stdio->hStdIn != INVALID_HANDLE_VALUE) { > + SetConsoleMode(stdio->hStdIn, stdio->dwOldMode); > + } > if (stdio->hInputReadyEvent != INVALID_HANDLE_VALUE) { > CloseHandle(stdio->hInputReadyEvent); > } > -- > 2.34.1.windows.1 > > > -- Marc-André Lureau
