Skip to content
Newer
Older
100644 77 lines (55 sloc) 3.46 KB
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
1 - Implement setenv / unsetenv
2
3 - Implement other stuff missing in node.cc/process
6d26621 @piscisaureus Add more stuff to TODO.win32
piscisaureus authored
4 Like getuid, getgid, setgid, kill etc.
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
5
e85733a @piscisaureus Update TODO.w32
piscisaureus authored
6 - Implement missing `net` methods
7 A pressing issue is: how do we work with windows api functions that are not utf8 aware?
8 E.g. getaddrinfo() is ansi-only; GetAddrInfoW is utf16-only. Can we get utf16 straight out of v8?
6d26621 @piscisaureus Add more stuff to TODO.win32
piscisaureus authored
9 Are unix sockets similar to windows named pipes? If so, should they be supported? -> currently: no. Complication: they block.
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
10
11 - Child processes
6d26621 @piscisaureus Add more stuff to TODO.win32
piscisaureus authored
12 Should not be too hard using CreatePipe, CreateProcessW and GetExitCodeProcess.
a6aca21 @piscisaureus Updating todo.WIN32
piscisaureus authored
13 Hooking up the child to a socket is tricky but it can be done (http://www.spinellis.gr/sw/unix/socketpipe/socketpipe-win.c)
14 Waiting for the child to exit is tricky, probably would require a wait thread to wait for the child, then ev_async notify.
6d26621 @piscisaureus Add more stuff to TODO.win32
piscisaureus authored
15 How can we distinguish between the exit code and exception number after calling GetExitCodeProcess?
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
16
17 - Stdio (make TTY's / repl / readline work)
e85733a @piscisaureus Update TODO.w32
piscisaureus authored
18 This will be hard: there is no ANSI escape code support in windows.
19 Select() doesn't work on TTYs -- use a dedicated `getchar()` thread
20 that relays everything to an internal socket?
21 Also verify writeError and isStdoutBlocking correctness.
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
22
e047ec3 @piscisaureus Update TODO.win32
piscisaureus authored
23 - Think about exposing the platform through the process object
24 It sucks but it may be necessary to know which platfom you're running on, e.g.
25 you can't do spawn('grep') on windows (unless there's msys).
26 Something like process.os or process.platform?
27
28 - Skip/fix tests that can never pass on windows
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
29
30 - Find a solution for fs.symlink / fs.lstat / fs.chown
31 Windows has different symlink types: file symlinks (vista+), directory symlinks (vista+), junction points (xp+)
32
33 - Handle _open_osfhandle failures
34 E.g. currently we're using the construct _open_osfhandle(socket/open/accept(...)).
35 Now socket() can fail by itself and _open_osfhandle can fail by itself too.
36 If socket() fails it returns -1 so _open_osfhandle fails as well, but and we'll always return/throw EBADF.
37 If _open_osfhandle fails but socket doesn't, a stray handle is left open. It should be fixed.
38
39 - Check error number mappings.
6d26621 @piscisaureus Add more stuff to TODO.win32
piscisaureus authored
40 Winsock errnos are sometimes different.
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
41
e047ec3 @piscisaureus Update TODO.win32
piscisaureus authored
42 - Think about `make install`
43
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
44 - Extensions
45 Should be DLLs on windows.
46
47 - Link pthreads-w32 statically by default
48
6d26621 @piscisaureus Add more stuff to TODO.win32
piscisaureus authored
49 - Link Mingw libraries statically by default
50 Like libstdc++.dll, more maybe.
51 Microsoft libs are always there, no static linkage required (e.g. msvcrt, winsock2).
52
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
53 - Make (open?)SSL work
54
55 - Support using shared libs (libeio, v8, c-ares)
56 Need to link with with a stub library. Libraries should use `dllexport`, headers must have `dllimport`.
57
a6aca21 @piscisaureus Updating todo.WIN32
piscisaureus authored
58 - V8: push MINGW32 build fixes upstream
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
59
60 - Work with the V8 team to get the stack corruption bug fixed
61
62 - Work around missing pread/pwrite more elegantly
63 Currently it's exported from libeio, while it wasn't intended to be exported.
64 The libeio workaround implementation sucks, it uses a global mutex.
a6aca21 @piscisaureus Updating todo.WIN32
piscisaureus authored
65 It should be possible to implement pread and pwrite using winapi's ReadFile/Writefile
66 directly, passing an OVERLAPPED structure while not associating with an completion port.
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
67
68 - Work around missing inet_pton/inet_ntop more elegantly
69 Currently it's exported from from c-ares, while it wasn't intended to be exported.
70 It prevents linking c-ares dynamically.
71
72 - See what libev/libeio changes can be pushed upstream
73
e047ec3 @piscisaureus Update TODO.win32
piscisaureus authored
74 - 64-bit build
75 Should be possible with MinGW-w64, it's pretty good.
76
0580f9a @piscisaureus Add todo file for windows port
piscisaureus authored
77 - ... much more probably
Something went wrong with that request. Please try again.