[tor-commits] [tor/master] Stop an apparent test-network hang when used with make -j2

nickm at torproject.org nickm at torproject.org
Wed Oct 8 19:42:19 UTC 2014

commit 9a2d4b66479695da0a26a7168d6ddcfd6838151f
Author: teor <teor2345 at 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

More information about the tor-commits mailing list