470 |
register struct child *lastc, *c; |
register struct child *lastc, *c; |
471 |
int child_failed; |
int child_failed; |
472 |
int any_remote, any_local; |
int any_remote, any_local; |
473 |
|
int dontcare; |
474 |
|
|
475 |
if (err && block) |
if (err && block) |
476 |
{ |
{ |
687 |
if (c->good_stdin) |
if (c->good_stdin) |
688 |
good_stdin_used = 0; |
good_stdin_used = 0; |
689 |
|
|
690 |
|
dontcare = c->file->dontcare; |
691 |
|
|
692 |
if (child_failed && !c->noerror && !ignore_errors_flag) |
if (child_failed && !c->noerror && !ignore_errors_flag) |
693 |
{ |
{ |
694 |
/* The commands failed. Write an error message, |
/* The commands failed. Write an error message, |
695 |
delete non-precious targets, and abort. */ |
delete non-precious targets, and abort. */ |
696 |
static int delete_on_error = -1; |
static int delete_on_error = -1; |
697 |
child_error (c->file->name, exit_code, exit_sig, coredump, 0); |
|
698 |
|
if (!dontcare) |
699 |
|
child_error (c->file->name, exit_code, exit_sig, coredump, 0); |
700 |
|
|
701 |
c->file->update_status = 2; |
c->file->update_status = 2; |
702 |
if (delete_on_error == -1) |
if (delete_on_error == -1) |
703 |
{ |
{ |
797 |
|
|
798 |
/* If the job failed, and the -k flag was not given, die, |
/* If the job failed, and the -k flag was not given, die, |
799 |
unless we are already in the process of dying. */ |
unless we are already in the process of dying. */ |
800 |
if (!err && child_failed && !keep_going_flag && |
if (!err && child_failed && !dontcare && !keep_going_flag && |
801 |
/* fatal_error_signal will die with the right signal. */ |
/* fatal_error_signal will die with the right signal. */ |
802 |
!handling_fatal_signal) |
!handling_fatal_signal) |
803 |
die (2); |
die (2); |