summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsmith <>2011-11-14 00:18:38 +0000
committerpsmith <>2011-11-14 00:18:38 +0000
commite10dbcd6d2640256635ca15ea37f9a7cfb2e47be (patch)
tree18cdcc83e1c8cf5f6c313c1dfa9013665f026e80
parent3b238354f95f33b66f25cc10f30ba3de134113b1 (diff)
downloadmake-e10dbcd6d2640256635ca15ea37f9a7cfb2e47be.tar.gz
In very obscure situations we may write the free token back to the pipe.
Don't do that. I couldn't come up with a repro case for this!
-rw-r--r--ChangeLog5
-rw-r--r--main.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 52724d13..86558470 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,11 @@
2011-11-13 Paul Smith <psmith@gnu.org>
+ * main.c (clean_jobserver): Don't write the free token to the pipe.
+ Change suggested by Tim Newsome <tnewsome@aristanetworks.com>
+
* acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Add support for Darwin.
- Patch provided by Troy Runkel <Troy.Runkel@mathworks.com>
* filedef.h (FILE_TIMESTAMP_STAT_MODTIME): Ditto.
+ Patch provided by Troy Runkel <Troy.Runkel@mathworks.com>
2011-09-18 Paul Smith <psmith@gnu.org>
diff --git a/main.c b/main.c
index 75eb4941..d260859a 100644
--- a/main.c
+++ b/main.c
@@ -3116,7 +3116,8 @@ clean_jobserver (int status)
"INTERNAL: Exiting with %u jobserver tokens (should be 0)!",
jobserver_tokens);
else
- while (jobserver_tokens--)
+ /* Don't write back the "free" token */
+ while (--jobserver_tokens)
{
int r;