Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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