You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an interesting corner. When CreateProcess() fails, Subprocess models it as if the command ran and output an error message; this allows the build to do the normal error handling of a failed subprocess, like printing the command that faile.d.
But since it fails immediately, the subprocess never gets into the running state, which means the main build loop will run and fail processes long past the maximum failure count. This is because the logic is like:
while more_to_do:
if can start another within limit
start another
continue // XXX
if any failed:
check if we hit failure limit
continue
// ... more here
We keep hitting the point marked XXX because we're never starting any processes, despite each process start failing. I think the fix is to swap the order of the two ifs there, but I want to think about it.
The text was updated successfully, but these errors were encountered:
This is an interesting corner. When CreateProcess() fails, Subprocess models it as if the command ran and output an error message; this allows the build to do the normal error handling of a failed subprocess, like printing the command that faile.d.
But since it fails immediately, the subprocess never gets into the running state, which means the main build loop will run and fail processes long past the maximum failure count. This is because the logic is like:
We keep hitting the point marked XXX because we're never starting any processes, despite each process start failing. I think the fix is to swap the order of the two ifs there, but I want to think about it.
The text was updated successfully, but these errors were encountered: