summaryrefslogtreecommitdiff
path: root/job.c
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@kolpackov.net>2006-02-08 17:29:07 +0000
committerBoris Kolpackov <boris@kolpackov.net>2006-02-08 17:29:07 +0000
commitd0c4e92f1145110793ffb04596019a864c88d2fc (patch)
tree97e0f900c14e63fc3c74a7de9d9aa144fc538adf /job.c
parentce9c63b32b9e31b3902de2987c81732540b89a1e (diff)
downloadgunmake-d0c4e92f1145110793ffb04596019a864c88d2fc.tar.gz
Fixed Savannah bug #15641.
Diffstat (limited to 'job.c')
-rw-r--r--job.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/job.c b/job.c
index 1c75420..fb07141 100644
--- a/job.c
+++ b/job.c
@@ -383,7 +383,7 @@ child_error (char *target_name, int exit_code, int exit_sig, int coredump,
{
if (ignored && silent_flag)
return;
-
+
#ifdef VMS
if (!(exit_code & 1))
error (NILF,
@@ -718,7 +718,7 @@ reap_children (int block, int err)
if (c->good_stdin)
good_stdin_used = 0;
- dontcare = c->file->dontcare;
+ dontcare = c->dontcare;
if (child_failed && !c->noerror && !ignore_errors_flag)
{
@@ -1612,6 +1612,10 @@ new_job (struct file *file)
c->command_lines = lines;
c->sh_batch_file = NULL;
+ /* Cache dontcare flag because file->dontcare can be changed once we
+ return. Check dontcare inheritance mechanism for details. */
+ c->dontcare = file->dontcare;
+
/* Fetch the first command line to be run. */
job_next_command (c);