Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows support #11

Open
cjihrig opened this issue Oct 2, 2019 · 6 comments
Open

Windows support #11

cjihrig opened this issue Oct 2, 2019 · 6 comments
Labels
help wanted Extra attention is needed

Comments

@cjihrig
Copy link
Collaborator

cjihrig commented Oct 2, 2019

There are a number of TODO comments sprinkled throughout the code. A number of them are Windows specific. The most important are probably in uvwasi__is_absolute_path() and uvwasi__resolve_path(). Once those ones are resolved there will still be some Windows limitations, but libuv should smooth out most of them.

@gengjiawen
Copy link
Member

gengjiawen commented Oct 13, 2019

@tniessen
Copy link
Member

@gengjiawen Possible fix in #30. Obviously won't work for sockets etc.

@gengjiawen
Copy link
Member

gengjiawen commented Oct 13, 2019

@gengjiawen Possible fix in #30. Obviously won't work for sockets etc.

Yeap. Other macros works in mingw except S_ISSOCK.

@cjihrig
Copy link
Collaborator Author

cjihrig commented May 1, 2020

Current state of known Windows issues:

  • fd_fdstat_get() sets the resulting uvwasi_fdstat_t's fs_flags field to 0. This can be improved.
  • fd_fdstat_set_flags() is not supported on Windows. I'm not sure if this can be improved.
  • fd_readdir() does not currently work on Windows. The API itself is awkward here, but support can be improved here (but might require not using libuv).
  • poll_oneoff() is not implemented on Windows or any other platform yet. poll_oneoff() is implemented, but only supports sockets due to it's use of uv_poll_t.

@cjihrig cjihrig added the help wanted Extra attention is needed label May 14, 2020
@Paril
Copy link

Paril commented Feb 23, 2021

Non-console executables don't have stdin/out/err which causes uvwasi__insert_stdio to fail. Ideally there should be a flag to exclude these/void them out.

@BambiHaber
Copy link

Just a simple question, why not add an #ifdef for win32 and add simple validation at the libuv wrapper, which would try at first to create the original string, and if failed, then bubble up an exception (assuming that maybe someday ":" would be supported by windows system? I hope this sounds somewhat reasonable - since I haven't dived into the libuv wrapper. but this seems like a solution that would span a solution on multiple environments as long as they're windows ( if when comes a day where windows FS allows ":")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants