Skip to content
This repository
Newer
Older
100644 89 lines (67 sloc) 4.134 kb
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
1 - Implement setenv / unsetenv
2
3 - Implement other stuff missing in node.cc/process
6d266219 » piscisaureus
2010-11-26 Add more stuff to TODO.win32
4 Like getuid, getgid, setgid, kill etc.
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
5
e85733a8 » piscisaureus
2010-11-26 Update TODO.w32
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?
6d266219 » piscisaureus
2010-11-26 Add more stuff to TODO.win32
9 Are unix sockets similar to windows named pipes? If so, should they be supported? -> currently: no. Complication: they block.
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
10
0a2f1cb3 » piscisaureus
2010-12-03 Child processes
11 - Child process issues
12 * Communication between parent and child is slow; it uses a socketpair
13 where a pipe would be much faster. Replace it by a pipe when there
14 is a libev backend that supports waiting for a pipe.
15 * When a child process spawns the pid is not available straightaway.
16 On linux the pid is available immediately because fork() doesn't
17 block; on windows a libeio thread is used to call CreateProcess.
18 So this can't really be fixed, but it could be worked around by adding a
19 'spawn' or 'pid' method.
20 * kill() doesn't work when the pid is not available yet. All the plumbing
21 is there to make it work, but lib/child_process.js just doesn't call
22 ChildProcess::Kill() as long as the pid is not known.
23 * passing socket custom_fds is not supported
24 * child_process.exec() only works on systems with msys installed.
25 It's because it relies on the 'sh' shell. The default windows shell
26 is 'cmd' and it works a little differently. Maybe add an option to
27 specify the shell to exec()?
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
28
29 - Stdio (make TTY's / repl / readline work)
e85733a8 » piscisaureus
2010-11-26 Update TODO.w32
30 This will be hard: there is no ANSI escape code support in windows.
31 Select() doesn't work on TTYs -- use a dedicated `getchar()` thread
32 that relays everything to an internal socket?
33 Also verify writeError and isStdoutBlocking correctness.
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
34
e047ec34 » piscisaureus
2010-11-26 Update TODO.win32
35 - Think about exposing the platform through the process object
36 It sucks but it may be necessary to know which platfom you're running on, e.g.
37 you can't do spawn('grep') on windows (unless there's msys).
38 Something like process.os or process.platform?
39
40 - Skip/fix tests that can never pass on windows
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
41
42 - Find a solution for fs.symlink / fs.lstat / fs.chown
43 Windows has different symlink types: file symlinks (vista+), directory symlinks (vista+), junction points (xp+)
44
45 - Handle _open_osfhandle failures
46 E.g. currently we're using the construct _open_osfhandle(socket/open/accept(...)).
47 Now socket() can fail by itself and _open_osfhandle can fail by itself too.
48 If socket() fails it returns -1 so _open_osfhandle fails as well, but and we'll always return/throw EBADF.
49 If _open_osfhandle fails but socket doesn't, a stray handle is left open. It should be fixed.
50
51 - Check error number mappings.
6d266219 » piscisaureus
2010-11-26 Add more stuff to TODO.win32
52 Winsock errnos are sometimes different.
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
53
e047ec34 » piscisaureus
2010-11-26 Update TODO.win32
54 - Think about `make install`
55
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
56 - Extensions
57 Should be DLLs on windows.
58
59 - Link pthreads-w32 statically by default
60
6d266219 » piscisaureus
2010-11-26 Add more stuff to TODO.win32
61 - Link Mingw libraries statically by default
62 Like libstdc++.dll, more maybe.
63 Microsoft libs are always there, no static linkage required (e.g. msvcrt, winsock2).
64
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
65 - Make (open?)SSL work
66
67 - Support using shared libs (libeio, v8, c-ares)
68 Need to link with with a stub library. Libraries should use `dllexport`, headers must have `dllimport`.
69
a6aca21c » piscisaureus
2010-11-28 Updating todo.WIN32
70 - V8: push MINGW32 build fixes upstream
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
71
72 - Work with the V8 team to get the stack corruption bug fixed
73
74 - Work around missing pread/pwrite more elegantly
75 Currently it's exported from libeio, while it wasn't intended to be exported.
76 The libeio workaround implementation sucks, it uses a global mutex.
a6aca21c » piscisaureus
2010-11-28 Updating todo.WIN32
77 It should be possible to implement pread and pwrite using winapi's ReadFile/Writefile
78 directly, passing an OVERLAPPED structure while not associating with an completion port.
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
79
80 - Work around missing inet_pton/inet_ntop more elegantly
81 Currently it's exported from from c-ares, while it wasn't intended to be exported.
82 It prevents linking c-ares dynamically.
83
84 - See what libev/libeio changes can be pushed upstream
85
e047ec34 » piscisaureus
2010-11-26 Update TODO.win32
86 - 64-bit build
87 Should be possible with MinGW-w64, it's pretty good.
88
0580f9a9 » piscisaureus
2010-11-26 Add todo file for windows port
89 - ... much more probably
Something went wrong with that request. Please try again.