From 9e97330bcbbd06fc3a31f4c2398ae27dfb13cc80 Mon Sep 17 00:00:00 2001
From: Roland McGrath <roland@redhat.com>
Date: Wed, 7 Sep 1994 07:02:23 +0000
Subject: [PATCH] (start_job_command): Whenever we set
 CHILD->file->update_status, call notice_finished_file instead of just
 set_command_state.

---
 job.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/job.c b/job.c
index 51d3576f..f6fdc5f4 100644
--- a/job.c
+++ b/job.c
@@ -438,7 +438,9 @@ reap_children (block, err)
 	    }
 
 	  if (! handling_fatal_signal)
-	    /* Notice if the target of the commands has been changed.  */
+	    /* Notice if the target of the commands has been changed.
+	       This also propagates its values for command_state and
+	       update_status to its also_make files.  */
 	    notice_finished_file (c->file);
 
 	  if (debug_flag)
@@ -546,7 +548,7 @@ start_job_command (child)
   if (question_flag && !(flags & COMMANDS_RECURSE))
     {  
       child->file->update_status = 1;
-      set_command_state (child->file, cs_finished);
+      notice_finished_file (child->file);
       return;
     }
 
@@ -726,7 +728,7 @@ start_job_command (child)
 
  error:
   child->file->update_status = 2;
-  set_command_state (child->file, cs_finished);
+  notice_finished_file (child->file);
 }
 
 /* Try to start a child running.
@@ -955,7 +957,7 @@ job_next_command (child)
 	{
 	  /* There are no more lines to be expanded.  */
 	  child->command_ptr = 0;
-	  set_command_state (child->file, cs_finished);
+	  child->file->command_state = cs_finished;
 	  child->file->update_status = 0;
 	  return 0;
 	}