diff options
author | Paul Smith <psmith@gnu.org> | 2018-08-04 19:07:59 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2018-08-04 19:07:59 -0400 |
commit | 05769ca009e630c1989f29ca8cb9d0ec4cf2a8d8 (patch) | |
tree | 930594c7ab5747b3efc2060214d498216bd21547 /src/filedef.h | |
parent | e2234bc1abe13bf3e3c4eb003b19e4d3cce188f3 (diff) | |
download | make-git-05769ca009e630c1989f29ca8cb9d0ec4cf2a8d8.tar.gz |
[SV 54233] Preserve higher command_state values on also_make targets.
If multiple pattern rules have the same pattern as also-make targets
and we attempt to run them at the same time, we might downgrade the
command state from 'running' to 'deps_running'; this will prevent
that also_make from being considered complete causing make to wait
forever for it to finish.
Ensure that set_command_state never downgrades the state of a target.
* src/file.c (set_command_state): Don't downgrade command_state.
* src/filedef.h (struct file): Document the order prerequisite.
* test/scripts/features/patternrules: Test the behavior.
Diffstat (limited to 'src/filedef.h')
-rw-r--r-- | src/filedef.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/filedef.h b/src/filedef.h index 8af562a1..9d4b816f 100644 --- a/src/filedef.h +++ b/src/filedef.h @@ -68,7 +68,7 @@ struct file us_question, /* Needs to be updated (-q is is set). */ us_failed /* Update failed. */ } update_status ENUM_BITFIELD (2); - enum cmd_state /* State of the commands. */ + enum cmd_state /* State of commands. ORDER IS IMPORTANT! */ { cs_not_started = 0, /* Not yet started. Must be 0! */ cs_deps_running, /* Dep commands running. */ |