#!/bin/bash set -e scons -j $(nproc) examples=( cond donate empty float mutex notify once queue rwlock sem simple sleep tls water/barrier water/cond water/sem cycle/mutex cycle/notify cycle/queue cycle/sem cycle/sleep cycle/yield cxx/cond cxx/mutex cxx/notify cxx/once cxx/queue cxx/rwlock cxx/sem cxx/sleep cxx/water/barrier cxx/water/cond cxx/water/sem signal/mutex-irq signal/sem-irq ) exitcode=0 trap 'exitcode=1' ABRT script_pid="$$" function run_example { trap '' ABRT if ! "build/$1"; then echo "$1" failed kill -ABRT -- "$script_pid" fi } for e in "${examples[@]}"; do echo "running $e..." run_example "$e" & done wait exit "$exitcode"