win: stream: reset tty stream on close

This was overlooked in 8072f085d2.

Analogous to 8a782f1699.

fix #10668
ref 8072f085d2 #9884
ref 8a782f1699 #2377
This commit is contained in:
Anciety 2019-08-18 11:58:35 +08:00 committed by Justin M. Keyes
parent 7ed2122622
commit e097e4704b
2 changed files with 10 additions and 0 deletions

View File

@ -97,6 +97,13 @@ void stream_close(Stream *stream, stream_close_cb on_stream_close, void *data)
stream->close_cb = on_stream_close;
stream->close_cb_data = data;
#ifdef WIN32
if (UV_TTY == uv_guess_handle(stream->fd)) {
// Undo UV_TTY_MODE_RAW from stream_init(). #10801
uv_tty_set_mode(&stream->uv.tty, UV_TTY_MODE_NORMAL);
}
#endif
if (!stream->pending_reqs) {
stream_close_handle(stream);
}

View File

@ -38,6 +38,9 @@ bool owns_tty(void)
static void walk_cb(uv_handle_t *handle, void *arg)
{
if (!uv_is_closing(handle)) {
#ifdef WIN32
uv_tty_set_mode(&tty, UV_TTY_MODE_NORMAL);
#endif
uv_close(handle, NULL);
}
}