> -----Original Message-----
> From: Dan Sugalski [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, February 23, 2000 12:32 PM
> To: Jordan Henderson; 'Craig A. Berry'; [EMAIL PROTECTED]
> Subject: RE: Patches for 5.5.650 to build?
> 
> 
> At 12:14 PM 2/23/00 -0500, Jordan Henderson wrote:
> > > From: Craig A. Berry [mailto:[EMAIL PROTECTED]]
> >What could perl possibly do with an unsuccessful EOF write to the
> >mailbox anyway?
> 
> Beats me. Part of me thinks that it ought to be noted. (Maybe 
> a warning)
> 
> >It seems that it would be easy to "fix" this, as the  call in
> >VMS.C, safe_popen(), has a mode argument for r/w.  It seems that
> >this would be "cleaner" in that it would cause an error if some
> >maintainer of VMS.C incorrectly caused a read to a write pipe or
> >vice-versa.  It would also save channels, which is not an
> >insignificant consideration as you can run out of channels
> >system-wide (MAXCHANNELCNT).
> 
> Huh? CHANNELCNT's a per-process setting, with MAXCHANNELCNT 
> being a cap. 
> The max number of channels on a system is 
> MAXPROCESSCNT*MAXCHANNELCNT. 
> (more or less--the spelling's probably wrong)

Well, I was confused, it's not MAXCHANNELCNT, the SYSGEN 
parameter is CHANNELCNT and it's the number of _permanent_
I/O channels available to the system.

These mailboxes do not have permanent I/O channels assigned
in any case.

Is there a per-process limit on channels?  It's not an
Authorize setting and I don't see a SYSGEN parameter.

> 
> Worst case you blow your own, which is not great, but not 
> fatal to the 
> system. Leaks still suck, though.
> 

I'm not sure there's a leak involved here, as all channels
are eventually deassigned.  Hmmm... wasn't there a patch
that someone showed how to get Perl to leak channels recently?

> >Making these changes may also help in work toward the infamous,
> >ice-cream-prize-winning from Dan, open2 and open3 calls.  I know
> >if I were doing the implementing, I'd want the various mbxs to
> >be read-only or write-only to keep me from confusing them during
> >debugging.
> 
> I think you're right, and it makes sense.
> 

Well, it gets complicated.  We currently create the
subprocesses via LIB$SPAWN.  This gives no control over 
how these files are opened, so we'd have to go with setting the
mailbox mode on the $crembx call and not on the $assign call.  
It also gives no control over SYS$ERROR at all (it always gets 
assigned the same thing as SYS$OUTPUT).  So, for open3, we'd have 
to change this to a SYS$CREPRC call. 

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

Reply via email to