SIGCHLD race condition?

Paul Menage pmenage at ensim.com
Thu Sep 27 04:34:58 EST 2001


>I see. Well, it seems that the fundamental problem is that select()
>can't be interrupted when the child exits, no? You can't have SIGCHLD
>unblock when select() is called...

The SIGCHLD has already arrived by the time select() is called - it
arrives in the gap between checking child_terminated and calling
select(). It's a very small race, but one that we've seen occur
sometimes. (Or if this isn't the race that's biting us, there's another
race that can produce exactly the same symptoms.)

Paul




More information about the openssh-unix-dev mailing list