diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-01-22 12:55:13 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-01-22 12:55:13 +0100 |
| commit | 7a6aa989f2e844a22cfab5c8ff30e77d17dabb2f (patch) | |
| tree | dd9c0dac74d0839fd0dd2fd24a59504d5180343a /scripts/jobserver-exec | |
| parent | 05e2600cb0a4d73b0779cf29512819616252aeeb (diff) | |
| parent | 2241ab53cbb5cdb08a6b2d4688feb13971058f65 (diff) | |
Merge 6.2-rc5 into tty-next
We need the serial/tty changes into this branch as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/jobserver-exec')
| -rwxr-xr-x | scripts/jobserver-exec | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/scripts/jobserver-exec b/scripts/jobserver-exec index 4192855f5b8b..7eca035472d3 100755 --- a/scripts/jobserver-exec +++ b/scripts/jobserver-exec @@ -26,11 +26,20 @@ try: # 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)] - # Open a private copy of reader to avoid setting nonblocking - # on an unexpecting process with the same reader fd. - reader = os.open("/proc/self/fd/%d" % (reader), - os.O_RDONLY | os.O_NONBLOCK) + + # 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. + reader = os.open("/proc/self/fd/%d" % (reader), + os.O_RDONLY | os.O_NONBLOCK) # Read out as many jobserver slots as possible. while True: |
