pass through exit codes when possible, otherwise report
 failure and full waitpid status and exit with a failure.