in reply to Re^6: fork - alarm - output
in thread fork - alarm - output

It sounds like you're saying 1 failure in 5 attempts is ok!

Oh give over. Is that really how you read that?

It never crossed your mind that I meant that if the programmer knows his program outputs more than the simple solution can handle, then he considers using the "more complex" solution?

Not that it needs to be much more complex: A whole 3 lines:

#! perl -slw use strict; use threads; my $pid = open IN, '-|', qq[ perl -E"\$t=time; say ~~localtime, select'','','',.0001 while time() < + \$t + $ARGV[0]" ] or die $!; async { eval { local $SIG{ ALRM } = sub { kill -9, $pid; warn 'timeout'; }; alarm 5; waitpid $pid, 0; alarm 0; }; }->detach; while( <IN> ){ print; } __END__ c:\test>junk 4 >junk.log c:\test>dir junk.log 08/06/2010 17:58 13,703,760 junk.log c:\test>junk 6 >junk.log timeout at C:\test\junk.pl line 13. c:\test>dir junk.log 08/06/2010 17:58 22,759,264 junk.log

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy

Replies are listed 'Best First'.
Re^8: fork - alarm - output
by ikegami (Patriarch) on Jun 08, 2010 at 22:55 UTC
    That removes the reaping on timeout. Maybe that's ok, but I doubt it since since the OP posted a reusable function, and he specifically did reap in that situation.
      That removes the reaping on timeout.

      It isn't there because I never have to think about such things. But again, putting it back and wrapping it in a function, is hardly onerous.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        It wasn't about whether it's onerous to fix or not, it was about whether the OP would notice it or not.