> -----Original Message-----
> From: Dan Sugalski [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, February 23, 2000 11:49 AM
> To: [EMAIL PROTECTED]
> Subject: RE: Patches for 5.5.650 to build?
> 
> 
> At 10:39 AM 2/23/00 -0600, Craig A. Berry wrote:
> >At 10:56 AM 2/23/00 -0500, Jordan Henderson wrote:
> > >It appears that the pipe is being opened as a RW mbx (new 
> to some recent 
> > version
> > >of OpenVMS), so the perl has READ channels and WRITE 
> channels on the mbx.  I
> > >could be wrong about this, but I have reason to believe it 
> (I did an 
> > ANAL/SYS
> > >"SHO PROC/CHAN" on a perl that was hung and saw several channels 
> > assigned to the
> > >mailbox that it was trying to write the EOF to).  I don't 
> see why this 
> > should be
> > >necessary.  It seems to me that a given pipe mbx should be 
> either READ 
> > or WRITE,
> > >but not both.
> >
> >I'm not sure I understand how you could have 2-way 
> communication if the 
> >mailbox is not RW.  I don't know if vmsperl uses the pipe() 
> function from 
> >the C RTL or cooks its own, but there is a description of 
> how the parent 
> >and child communicate through a mailbox in the RTL version at:
> 
> We cook our own for `` and magic open. Communication with the 
> child process 
> is a one-way thing, though if I ever get a chance to implement 
> open(FOO,"|bar|") it won't...

Communication is one-way, but I believe you'll find that we
have r/w channels open to the mailboxes in every case.  I would
implement open(FOO,"|bar|") as two mailboxes, one in, one out.
If you didn't do this, how could you possibly coordinate the 
reading/writing with bar?

> 
>                                       Dan
> 
> --------------------------------------"it's like 
> this"-------------------
> Dan Sugalski                          even samurai
> [EMAIL PROTECTED]                         have teddy bears and even
>                                       teddy bears get drunk
> 

Reply via email to