scripts/jobserver-exec: parse the last --jobserver-auth= option
In the GNU Make manual, the section "Sharing Job Slots with GNU make" says: Be aware that the MAKEFLAGS variable may contain multiple instances of the --jobserver-auth= option. Only the last instance is relevant. Take the last element of the array, not the first. Link: https://www.gnu.org/software/make/manual/html_node/Job-Slots.html Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
This commit is contained in:
parent
be5ea98983
commit
f8f4dc7685
|
@ -23,7 +23,9 @@ try:
|
||||||
opts = [x for x in flags.split(" ") if x.startswith("--jobserver")]
|
opts = [x for x in flags.split(" ") if x.startswith("--jobserver")]
|
||||||
|
|
||||||
# Parse out R,W file descriptor numbers and set them nonblocking.
|
# Parse out R,W file descriptor numbers and set them nonblocking.
|
||||||
fds = opts[0].split("=", 1)[1]
|
# If the MAKEFLAGS variable contains multiple instances of the
|
||||||
|
# --jobserver-auth= option, the last one is relevant.
|
||||||
|
fds = opts[-1].split("=", 1)[1]
|
||||||
reader, writer = [int(x) for x in fds.split(",", 1)]
|
reader, writer = [int(x) for x in fds.split(",", 1)]
|
||||||
# Open a private copy of reader to avoid setting nonblocking
|
# Open a private copy of reader to avoid setting nonblocking
|
||||||
# on an unexpecting process with the same reader fd.
|
# on an unexpecting process with the same reader fd.
|
||||||
|
|
Loading…
Reference in New Issue