forall: Fix returning results early

rc should be returned only after all results are processed.

R=jojwang@google.com

Bug: b/376454189
Change-Id: I8200b9954240dd3e8e9f2ab82494779a3cb38627
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/440901
Tested-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Joanna Wang <jojwang@google.com>
This commit is contained in:
Josip Sokcevic 2024-10-30 16:06:08 +00:00 committed by LUCI
parent f9f4df62e0
commit e219c78fe5

View File

@ -298,7 +298,7 @@ without iterating through the remaining projects.
) )
except (KeyboardInterrupt, WorkerKeyboardInterrupt): except (KeyboardInterrupt, WorkerKeyboardInterrupt):
# Catch KeyboardInterrupt raised inside and outside of workers # Catch KeyboardInterrupt raised inside and outside of workers
rc = rc or errno.EINTR rc = errno.EINTR
except Exception as e: except Exception as e:
# Catch any other exceptions raised # Catch any other exceptions raised
logger.error( logger.error(
@ -306,7 +306,7 @@ without iterating through the remaining projects.
type(e).__name__, type(e).__name__,
e, e,
) )
rc = rc or getattr(e, "errno", 1) rc = getattr(e, "errno", 1)
if rc != 0: if rc != 0:
sys.exit(rc) sys.exit(rc)