Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^3: Passing a File Descriptor to a New Process on Windows (Win32API::File)

by hardburn (Abbot)
on Apr 24, 2014 at 01:59 UTC ( [id://1083496]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Passing a File Descriptor to a New Process on Windows (Win32API::File)
in thread Passing a File Descriptor to a New Process on Windows

Thanks, tye, have this all figured out now.

fd_pass.pl

#!/usr/bin/perl use v5.14; use warnings; use Win32API::File 'FdGetOsFHandle'; my $FILE = shift or die "Need file to read\n"; say "Opening file"; open( my $in, '<', $FILE ) or die "Can't open '$FILE': $!\n"; # Get the real FD from Windows my $fd = FdGetOsFHandle( fileno($in) ); say "Spawning child process"; my $pid = system(1, 'perl', './fd_get.pl', $fd ) or die "Could not spawn child process: $!\n"; wait;

fd_get.pl

#!/usr/bin/perl use v5.14; use warnings; use Win32API::File 'OsFHandleOpen'; my $FD = shift or die "Need file descriptor\n"; OsFHandleOpen( *IN, $FD, 'r' ) or die "Could not open file descriptor '$FD': $!\n"; while(<IN>) { chomp; say "Got in child: $_"; } close IN;

"There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1083496]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2024-04-16 14:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found