Fix small race conditions introduced when fixing the larger race condition.
Since SIGCHLD could be delayed due to blocking in progmode(), need to be ready for those when they finally do happen (i.e., after the pid in question may have been cleaned up or the global progpid var reset). Also tweak the "did it fail immediately" timeout to be a bit longer. Empirically, it now handles unresponsive IPMI SOL sessions better.
Showing with 49 additions and 15 deletions