develooper Front page | perl.perl5.porters | Postings from June 2008

Re: IPC::Run [was: This Week on perl5-porters - 1-6 June 2008]

Thread Previous | Thread Next
From:
John E. Malmberg
Date:
June 28, 2008 08:23
Subject:
Re: IPC::Run [was: This Week on perl5-porters - 1-6 June 2008]
Message ID:
48665762.40706@qsl.net
Nicholas Clark wrote:
> On Thu, Jun 19, 2008 at 09:01:21AM -0500, John E. Malmberg wrote:
> 
>> VMS native file I/O uses a pointer to an RMS structure.
>>
>> In addition, some VMS I/O, such as ICC services uses 32 bit handles for 
>> tracking connections.  ICC services map well to the UNIX concept of 
>> named pipes.
>>
>> Being able to internally store such file handles in a PERL filehandle 
>> could simplify adding a lot of functionality to Perl on a platform.
>>
>> Right now, we would have to keep a table of file descriptors that are 
>> mapped to the native structures to extend Perl.
>>
>> Such native I/O allows true Asynchronous I/O capabilities on VMS.
> 
> It ought to be possible to write a PerlIO layer to do this, replacing "unix"
> or "stdio" at the bottom of the stack. But I've no idea how easy it would be
> to do this well.

I have thought about that.  I do not know how to do that yet.

We are currently using that table of file descriptors in VMS.C to 
implement Unix style pipes.  I am thinking of expanding it to support 
poll() and select() routines that work on terminals, pipes, sockets and 
X11 handles like I did for the glib port.  That implementation might 
allow signals to interrupt the select() calls.

I do not know if Perl uses named pipes, but that would be implemented in 
  a similar way on VMS for those versions of VMS ICC available.

-John
wb8tyw@qsl.net

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About