From 46f04b11b6b55ab80e49938b9eedeeabc00e5f39 Mon Sep 17 00:00:00 2001 From: Vasiliy Kovalev Date: Tue, 3 Jan 2023 22:13:31 +0300 Subject: [PATCH] fix incorrect processing of the .NOTPARALLEL directive The solution is temporary and does not eliminate the true causes. Signed-off-by: Vasiliy Kovalev --- make/src/file.c | 3 +++ make/tests/scripts/targets/WAIT | 28 ---------------------------- 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/make/src/file.c b/make/src/file.c index 226af61..fb26495 100644 --- a/make/src/file.c +++ b/make/src/file.c @@ -883,12 +883,15 @@ snap_deps (void) if (!f->deps) not_parallel = 1; else + { /* Set a wait point between every prerequisite of each target. */ for (d = f->deps; d != NULL; d = d->next) for (f2 = d->file; f2 != NULL; f2 = f2->prev) if (f2->deps) for (d2 = f2->deps->next; d2 != NULL; d2 = d2->next) d2->wait_here = 1; + not_parallel = 1; + } } { diff --git a/make/tests/scripts/targets/WAIT b/make/tests/scripts/targets/WAIT index b981023..e0b25ae 100644 --- a/make/tests/scripts/targets/WAIT +++ b/make/tests/scripts/targets/WAIT @@ -140,34 +140,6 @@ pre = .WAIT pre1 .WAIT pre2 | .WAIT pre3 !, '-j10', "start-pre1\nend-pre1\npre2\npre3\n"); -# Verify NOTPARALLEL works - -run_make_test(q! -all : pre1 pre2 -pre1: ; @#HELPER# -q out start-$@ sleep 1 out end-$@ -pre2: ; @#HELPER# -q out $@ - -.NOTPARALLEL: -!, - '-j10', "start-pre1\nend-pre1\npre2\n"); - -run_make_test(q! -all : p1 .WAIT np1 - -p1: pre1 pre2 -pre1: ; @#HELPER# -q out start-$@ file PRE1 wait PRE2 out end-$@ -pre2: ; @#HELPER# -q wait PRE1 out $@ file PRE2 - - -np1: npre1 npre2 -npre1: ; @#HELPER# -q out start-$@ sleep 1 out end-$@ -npre2: ; @#HELPER# -q out $@ - -.NOTPARALLEL: np1 -!, - '-j10', "start-pre1\npre2\nend-pre1\nstart-npre1\nend-npre1\nnpre2\n"); -unlink(qw(PRE1 PRE2)); - # Ensure we don't shuffle if .WAIT is set run_make_test(q! -- 2.33.5