in reply to
[OT]: How to do fileno() and Win32::APIFile::FdGetOsFHandle() in C
To see how fileno() in Perl works, take a quick look at the pp_fileno() function in pp_sys.c in the Perl source code. Assuming your filehandle isn't tied, the steps basically are:
- Get the IO from the Perl filehandle passed in (or use the IO if that's what you got)
- Get the FILE pointer from the IO
- Pass the FILE pointer to fileno() to get your file descriptor.
Now, to get at Win32API::File::FdGetOsFHandle(), grep around the win32/ subdirectory for your answers. I'm afraid my Win32 skills aren't good enough to help you there.
Test your modules with bleadperl!
rsync -avz rsync://public.activestate.com/perl-current/ .
./Configure -des -Dusedevel -Dprefix=/path/to/test/perl
Now, please test you modules! If you have test failures that don't happen with Perl 5.8.8, send a simplified test case to
perlbug at perl.org