On Tue, 2002-05-21 at 18:58, Chris Fedde wrote:
> I have not had time to clean it up yet.  But my test code now behaves
> predictably:  All the output arrives before sigchld.  I can't tell
> which file handles the errors are on. But all the data has been read
> before the sigchld which was the big deal for me.

Is this algorithmic, i.e., the code ensures that STDOUT is flushed
before delivering sigchld?  If it's not, how do we know this behavior is
deterministic?

I am wondering whether the observed behavior is system dependent.  I am
seeing a different behavior on my test system (PII-350, Mandrake 8.1,
perl 5.6.1, POE 0.19).  While doing a "/bin/rpm -qa", which should
return 804 lines, sigchld is consistently delievered before all 804
lines are received.  The number of lines missing ranges widely up to
200+.

We all care about having all the data read.  However, counting on
sigchld being delivered after STDOUT is flushed does not appear to be
reliable.

Pete


Reply via email to