in reply to Re: Question on fork and close.
in thread Question on fork and close.

Well long live the error message! It definitely is pointing to my open2 call.
open2: fork failed: Resource temporarily unavailable at /home/sbank/gz +ip.pl line 74
Here's more meat from my script. (You can call it a sloppy joe, because of my poor coding.)
{ open(OUTPUT, "$outfile$$") or die "can't open file $outfile$$: $!"; open2(\*GZIP_IN, \*GZIP_OUT, "$gzip -dc -q $outfile$$") or die "can +not open2 $gzip: $!"; until ( eof(OUTPUT) ) { # read in chunks of 1024. read(OUTPUT, $buffer, 1024); print GZIP_OUT $buffer; } close GZIP_OUT; select STDOUT; $| = 1; # make unbuffered while (<GZIP_IN>) { # some other stuff print STDOUT "$_"; } close GZIP_IN; close INPUT; unlink "$outfile"; unlink "$outfile$$"; }
Line 74 is the open2 line.

Replies are listed 'Best First'.
Re: Re: Re: Question on fork and close.
by Anonymous Monk on May 30, 2001 at 00:37 UTC
    Yeah! If you have a compressed file of roughly more than 8K (depends on your system) gzip stops, your script stops and your processtable looses 2 slots. If no slots are there anymore you get the error. Why doesn't your script stop and only gzip beats me.