Skip to content

Commit

Permalink
deps: uvwasi: cherry-pick 7b5b6f9
Browse files Browse the repository at this point in the history
Original commit message:
    allow windows to detect tty types

    uv_fs_fstat() fails on TTYs on Windows. This commit updates
    uvwasi__get_filetype_by_fd() to detect this case and map
    the fd to the WASI character device type.

    Refs: #31461

Fixes: #31461
PR-URL: #31495
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information
cjihrig authored and codebytere committed Mar 17, 2020
1 parent e48f874 commit 48e4d45
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion deps/uvwasi/src/uv_mapping.c
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,15 @@ uvwasi_errno_t uvwasi__get_filetype_by_fd(uv_file fd, uvwasi_filetype_t* type) {

r = uv_fs_fstat(NULL, &req, fd, NULL);
if (r != 0) {
*type = UVWASI_FILETYPE_UNKNOWN;
uv_fs_req_cleanup(&req);

/* Windows can't stat a TTY. */
if (uv_guess_handle(fd) == UV_TTY) {
*type = UVWASI_FILETYPE_CHARACTER_DEVICE;
return UVWASI_ESUCCESS;
}

*type = UVWASI_FILETYPE_UNKNOWN;
return uvwasi__translate_uv_error(r);
}

Expand Down

0 comments on commit 48e4d45

Please sign in to comment.