--- IO-FDPass/FDPass.pm 2013/04/05 04:26:41 1.2 +++ IO-FDPass/FDPass.pm 2013/04/05 05:04:59 1.3 @@ -9,8 +9,8 @@ =head1 DESCRIPTION This small low-level module only has one purpose: pass a file descriptor -to another process, using a unix domain socket (on POSIX systems) or any -socket (on WIN32 systems). +to another process, using a (streaming) unix domain socket (on POSIX +systems) or any (streaming) socket (on WIN32 systems). =head1 FUNCTIONS @@ -21,7 +21,7 @@ package IO::FDPass; BEGIN { - $VERSION = '0.0'; + $VERSION = '0.1'; require XSLoader; XSLoader::load (__PACKAGE__, $VERSION); @@ -69,12 +69,12 @@ =head1 PORTABILITY NOTES -This module has been tested on NetBSD 6, OS X 10.5, Windows 2000 -ActivePerl 5.10, Solaris 10, OpenBSD 4.4, 4.5, 4.8 and 5.0, DragonFly -BSD, FreeBSD 7, 8 and 9, Windows 7 + ActivePerl 5.16.3 32 and 64 bit -and Strawberry Perl 5.16.3 32 and 64 bit, and found to work, although -ActivePerl 32 bit needed a newer MinGW version (that supports XP and -higher). +This module has been tested on GNU/Linux x86 and amd64, NetBSD 6, OS X +10.5, Windows 2000 ActivePerl 5.10, Solaris 10, OpenBSD 4.4, 4.5, 4.8 and +5.0, DragonFly BSD, FreeBSD 7, 8 and 9, Windows 7 + ActivePerl 5.16.3 32 +and 64 bit and Strawberry Perl 5.16.3 32 and 64 bit, and found to work, +although ActivePerl 32 bit needed a newer MinGW version (that supports XP +and higher). However, windows doesn't support asynchronous file descriptor passing, so C and C will have to "rendezvous", that is, they have to wait @@ -84,6 +84,11 @@ Also, on windows, the passing process must give the receiving process the PROCESS_DUP_HANDLE access right for this module to work. +Cygwin is not supported at the moment, as file descriptor passing in +cygwin is not supported, and cannot be rolled on your own as cygwin has no +(working) method of opening a handle as fd. That is, it has one, but that +one isn't exposed to programs, and only used for stdin/out/err. Sigh. + =head1 OTHER MODULES At the time of this writing, the author of this module was aware of two