Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Try again when wait returns 128.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 12 May 2018 19:34:19 +0000 (21:34 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 12 May 2018 19:35:20 +0000 (21:35 +0200)
src/smpi/smpirun.in

index 4f93d34..e8f1743 100755 (executable)
@@ -500,6 +500,12 @@ pid=$!
 exec 3>&-
 wait $pid
 status=$?
+# With dash on Windows WSL/Ubuntu, "wait" sometimes returns early with an exit
+# status of 128. Try again.
+while test $status -eq 128 && kill -0 $pid 2>/dev/null; do
+    wait $pid
+    status=$?
+done
 pid=""
 
 # Keep temporary files on failures to help debugging