in reply to Win98 strangeness

I went hunting through the MSDN and couldn't find any express limits on the number of pipes.

I too find it odd that such a magic number would occur. According to MSDN, the low level 'C' I/O routines can handle 2048 open files, and the upper level 'stdio' stuff 512.

Pipes are implemented in memory, and not as temporary disk files. I don't know what exact conditions will cause a block-on-write. NT may spill to the swap file (W98 will probably just BSODs on you...)

What disturbs me is that other files are already open, such as stdin, stdout, and stderr. I wouldn't be surprised that you might hit a process limit (such as W98 supports processes, totally unlike NT), but the number of files already open should only allow you to open 60 or 61 pipes. Which leads me to believe there's something else going on I can't find.

Sorry I couldn't locate any more detail. You could try some selective searches at msdn.microsoft.com. Oh, and it might be worth checking the source out, to see if it's some sort of artificial limit of being a Windows port of Perl.

--Chris

Replies are listed 'Best First'.
RE: Re: Win98 strangeness
by Odud (Pilgrim) on Jun 21, 2000 at 23:29 UTC
    I had a quick look through MS Technet and couldn't find anything either. Shendal has tried it on NT with no problem so I suspect it is something funny with 98 rather than a Windows port issue. For all it pretends otherwise its DOS roots show sometimes!