docs, parallelism: Fix failure path and add comment
authorKees Cook <keescook@chromium.org>
Thu, 21 Nov 2019 20:59:27 +0000 (12:59 -0800)
committerJonathan Corbet <corbet@lwn.net>
Fri, 22 Nov 2019 17:35:11 +0000 (10:35 -0700)
Rasmus noted that the failure path didn't correctly exit. Fix this and
add another comment about GNU Make's job server environment variable
names over time.

Reported-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://lore.kernel.org/lkml/eb25959a-9ec4-3530-2031-d9d716b40b20@rasmusvillemoes.dk
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20191121205929.40371-2-keescook@chromium.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/jobserver-count

index 0b482d6..6e15b38 100755 (executable)
@@ -24,6 +24,8 @@ try:
        flags = os.environ['MAKEFLAGS']
 
        # Look for "--jobserver=R,W"
+       # Note that GNU Make has used --jobserver-fds and --jobserver-auth
+       # so this handles all of them.
        opts = [x for x in flags.split(" ") if x.startswith("--jobserver")]
 
        # Parse out R,W file descriptor numbers and set them nonblocking.
@@ -53,6 +55,7 @@ os.write(writer, jobs)
 # If the jobserver was (impossibly) full or communication failed, use default.
 if len(jobs) < 1:
        print(default)
+       sys.exit(0)
 
 # Report available slots (with a bump for our caller's reserveration).
 print(len(jobs) + 1)