X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3db43f179cf2fe1fb4077f8789d2b53588806517..afdab87268e4ee2f19f92e02b219696081959378:/crunch_scripts/run-command diff --git a/crunch_scripts/run-command b/crunch_scripts/run-command index 3dafc970d3..13ae918895 100755 --- a/crunch_scripts/run-command +++ b/crunch_scripts/run-command @@ -348,6 +348,8 @@ except Exception as e: logger.error(pprint.pformat(taskp)) sys.exit(1) +# rcode holds the return codes produced by each subprocess +rcode = {} try: subprocesses = [] close_streams = [] @@ -389,7 +391,6 @@ try: active = 1 pids = set([s.pid for s in subprocesses]) - rcode = {} while len(pids) > 0: (pid, status) = os.wait() pids.discard(pid) @@ -434,7 +435,7 @@ else: outcollection = robust_put.upload(outdir, logger) # Success if no non-zero return codes -success = not any([status != 0 for status in rcode.values()]) +success = any(rcode) and not any([status != 0 for status in rcode.values()]) api.job_tasks().update(uuid=arvados.current_task()['uuid'], body={