summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>1999-07-09 22:55:44 +0000
committerPaul Smith <psmith@gnu.org>1999-07-09 22:55:44 +0000
commit8df9d5402017dbc6af67e9baa1c0baac5c59f4ff (patch)
tree20eb661a53f89abae673007470e9b1e5a569689e /ChangeLog
parent9035aa27b7485bfdc12f8c577208a20a8b3747b6 (diff)
downloadgunmake-8df9d5402017dbc6af67e9baa1c0baac5c59f4ff.tar.gz
* Fixed error rebuilding makefiles with -j>1
* Fixed problem with job pipe and -j>1 when waiting on -l loads.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog22
1 files changed, 22 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f93445..b88e034 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+1999-07-09 Paul D. Smith <psmith@gnu.org>
+
+ * job.c (start_waiting_job): Don't get a second job token if we
+ already have one; if we're waiting on the load to go down
+ start_waiting_job() might get called twice on the same file.
+
+ * remake.c (update_goal_chain): If we try to update a goal and it
+ doesn't complete (e.g., parallel builds) remember that by setting
+ the `deferred' flag in the goal structure. Later when we're
+ determining the return value we consider a goal updated if either
+ the mtime has changed _or_ this flag was set. We need this
+ because the mtime doesn't change during the update_file() function
+ if we started a job running; instead it's set during the
+ reap_children() call. So, the code doesn't know it was updated
+ and returns a status of -1 (nothing done). This is OK during
+ "normal" builds since our caller (main) treats these cases
+ identically in that case, but if you're building makefiles the
+ difference is very important (whether we re-exec or not).
+
+ * dep.h: Add a `deferred' flag to track whether a goal was run but
+ not completed (parallel builds).
+
1999-07-08 Paul D. Smith <psmith@gnu.org>
* main.c (switches): Define a new switch -R (or