(I apologize in advance if I missed something, I'm not able to study this series
carefully now. But I hope that a false alarm is better than a probable bug.)
On 03/30, Roland McGrath wrote:
This looks wrong, we shouldn't clear *retval if the child is EXIT_DEAD.
We can race with another thread which changed EXIT_ZOMBIE->EXIT_DEAD but
hasn't released the child yet. Suppose we don't have other childs, in that
case do_wait() will falsely sleep on ->wait_chldexit (unless WHOHANG).
Oleg.
--