commit 9a2d4b66479695da0a26a7168d6ddcfd6838151f Author: teor teor2345@gmail.com Date: Sat Oct 4 13:18:56 2014 +1000
Stop an apparent test-network hang when used with make -j2
If (GNU) Make 3.81 is running processes in parallel using -j2 (or more), it waits until all descendent processes have exited before it returns to the shell.
When a command like "make -j2 test-network" is run, this means that test-network.sh apparently hangs until it either make is forcibly terminated, or all the chutney-launched tor processes have exited.
A workaround is to use make without -j, or make -j1 if there is an existing alias to "make -jn" in the shell.
We resolve this bug in tor by using "chutney stop" after "chutney verify" in test-network.sh. --- changes/bug13331-make-j2-test-network-hang | 3 +++ src/test/test-network.sh | 3 +++ 2 files changed, 6 insertions(+)
diff --git a/changes/bug13331-make-j2-test-network-hang b/changes/bug13331-make-j2-test-network-hang new file mode 100644 index 0000000..85c0ad8 --- /dev/null +++ b/changes/bug13331-make-j2-test-network-hang @@ -0,0 +1,3 @@ + o Minor bugfixes: + - Stop an apparent test-network hang when used with make -j2. + Fixes bug 13331. diff --git a/src/test/test-network.sh b/src/test/test-network.sh index 7b59864..d7fdb35 100755 --- a/src/test/test-network.sh +++ b/src/test/test-network.sh @@ -45,3 +45,6 @@ n=$BOOTSTRAP_TIME; while [ $n -gt 0 ]; do sleep 1; n=$(expr $n - 1); echo -n . done; echo "" ./chutney verify $CHUTNEY_NETWORK +# work around a bug/feature in make -j2 (or more) +# where make hangs if any child processes are still alive +./chutney stop $CHUTNEY_NETWORK
tor-commits@lists.torproject.org