Fix a "Kernel has child processes" warning even when it doesn't.

Michel Schrameck reported that the above warning was coming from a
very simple, obviously not fork()ing test program.  I was able to
reproduce the problem with the test case when USE_SIGCHLD was turned
off.  This fix changes the way first polling of SIGCHLD happens.  It
passes all known tests, but it may negatively affect older programs.
Please report any problems.