Commit 8c008988 authored by Martin Liska's avatar Martin Liska Committed by Masahiro Yamada
Browse files

scripts: support GNU make 4.4 in jobserver-exec

Starting with GNU make 4.4, --jobserver-auth newly uses named
pipe (fifo) instead of part of opened file descriptors:
https://www.gnu.org/software/make/manual/html_node/POSIX-Jobserver.html



Support also the new format.

Signed-off-by: default avatarMartin Liska <mliska@suse.cz>
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent aedee9e8
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -26,6 +26,15 @@ try:
	# If the MAKEFLAGS variable contains multiple instances of the
	# --jobserver-auth= option, the last one is relevant.
	fds = opts[-1].split("=", 1)[1]

	# Starting with GNU Make 4.4, named pipes are used for reader and writer.
	# Example argument: --jobserver-auth=fifo:/tmp/GMfifo8134
	_, _, path = fds.partition('fifo:')

	if path:
		reader = os.open(path, os.O_RDONLY | os.O_NONBLOCK)
		writer = os.open(path, os.O_WRONLY)
	else:
		reader, writer = [int(x) for x in fds.split(",", 1)]
		# Open a private copy of reader to avoid setting nonblocking
		# on an unexpecting process with the same reader fd.