… | |
… | |
83 | and higher). |
83 | and higher). |
84 | |
84 | |
85 | However, windows doesn't support asynchronous file descriptor passing, so |
85 | However, windows doesn't support asynchronous file descriptor passing, so |
86 | the source process must still be around when the destination process wants |
86 | the source process must still be around when the destination process wants |
87 | to receive the file handle. Also, if the target process fails to fetch the |
87 | to receive the file handle. Also, if the target process fails to fetch the |
88 | handle, the handle will leak, so never do that. |
88 | handle for any reason (crashes, fails to call C<recv> etc.), the handle |
|
|
89 | will leak, so never do that. |
89 | |
90 | |
90 | Also, on windows, the receiving process must have the PROCESS_DUP_HANDLE |
91 | Also, on windows, the receiving process must have the PROCESS_DUP_HANDLE |
91 | access right on the sender process for this module to work. |
92 | access right on the sender process for this module to work. |
92 | |
93 | |
93 | Cygwin is not supported at the moment, as file descriptor passing in |
94 | Cygwin is not supported at the moment, as file descriptor passing in |
… | |
… | |
96 | one isn't exposed to programs, and only used for stdin/out/err. Sigh. |
97 | one isn't exposed to programs, and only used for stdin/out/err. Sigh. |
97 | |
98 | |
98 | =head1 OTHER MODULES |
99 | =head1 OTHER MODULES |
99 | |
100 | |
100 | At the time of this writing, the author of this module was aware of two |
101 | At the time of this writing, the author of this module was aware of two |
101 | other file descriptor passing modules on CPAN: L<Linux::FDPasser> and |
102 | other file descriptor passing modules on CPAN: L<File::FDPasser> and |
102 | L<AnyEvent::FDPasser>. |
103 | L<AnyEvent::FDPasser>. |
103 | |
104 | |
104 | The former hasn't seen any release for over a decade, isn't 64 bit clean |
105 | The former hasn't seen any release for over a decade, isn't 64 bit clean |
105 | and it's author didn't respond to my mail with the fix. It does, however, |
106 | and it's author didn't respond to my mail with the fix, so doesn't work on |
106 | support a number of pre-standard unices. |
107 | many 64 bit machines. It does, however, support a number of pre-standard |
|
|
108 | unices, basically everything of relevance at the time it was written. |
107 | |
109 | |
108 | The latter seems to have similar support for antique unices, and doesn't |
110 | The latter seems to have similar support for antique unices, and doesn't |
109 | seem to suffer from 64 bit bugs, but inexplicably has a large perl part, |
111 | seem to suffer from 64 bit bugs, but inexplicably has a large perl part, |
110 | and requires AnyEvent. Presumably that makes it much more user friendly |
112 | and requires AnyEvent. Presumably that makes it much more user friendly |
111 | than this module. |
113 | than this module (skimming the manpage shows that a lot of thought has |
|
|
114 | gone into it, and you are well advised to read it and maybe use it before |
|
|
115 | trying a low-level module such as this one). |
112 | |
116 | |
113 | Neither seems to support native win32 perls. |
117 | Neither seems to support native win32 perls. |
114 | |
118 | |
115 | =head1 AUTHOR |
119 | =head1 AUTHOR |
116 | |
120 | |