… | |
… | |
53 | 5.16.3 32 and 64 bit and Strawberry Perl 5.16.3 32 and 64 bit, and found |
53 | 5.16.3 32 and 64 bit and Strawberry Perl 5.16.3 32 and 64 bit, and found |
54 | to work, although ActivePerl 32 bit needed a newer MinGW version (that |
54 | to work, although ActivePerl 32 bit needed a newer MinGW version (that |
55 | supports XP and higher). |
55 | supports XP and higher). |
56 | |
56 | |
57 | However, windows doesn't support asynchronous file descriptor passing, |
57 | However, windows doesn't support asynchronous file descriptor passing, |
58 | so "send" and "recv" will have to "rendezvous", that is, they have to |
58 | so the source process must still be around when the destination process |
59 | wait for each other. Therefore, on windows, it's advisable to run them |
59 | wants to receive the file handle. Also, if the target process fails to |
60 | at the same time to avoid any unnecessary delays. |
60 | fetch the handle, the handle will leak, so never do that. |
61 | |
61 | |
62 | Also, on windows, the passing process must give the receiving process |
62 | Also, on windows, the receiving process must have the PROCESS_DUP_HANDLE |
63 | the PROCESS_DUP_HANDLE access right for this module to work. |
63 | access right on the sender process for this module to work. |
64 | |
64 | |
65 | Cygwin is not supported at the moment, as file descriptor passing in |
65 | Cygwin is not supported at the moment, as file descriptor passing in |
66 | cygwin is not supported, and cannot be rolled on your own as cygwin has |
66 | cygwin is not supported, and cannot be rolled on your own as cygwin has |
67 | no (working) method of opening a handle as fd. That is, it has one, but |
67 | no (working) method of opening a handle as fd. That is, it has one, but |
68 | that one isn't exposed to programs, and only used for stdin/out/err. |
68 | that one isn't exposed to programs, and only used for stdin/out/err. |