summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rwxr-xr-xcpp/examples/verify12
1 files changed, 8 insertions, 4 deletions
diff --git a/cpp/examples/verify b/cpp/examples/verify
index 3dbb2a4521..9271d8d972 100755
--- a/cpp/examples/verify
+++ b/cpp/examples/verify
@@ -6,15 +6,19 @@
DIR=$PWD
SRC=`dirname $0 | sed 's|^\([^/].*\)|'$PWD'/\1|'`/examples
-# Kill any leftover background jobs.
-trap "kill %% > /dev/null 2>&1" EXIT
-
# Start private broker if QPIDD is set.
if [ -n "$QPIDD" ] ; then
export QPID_PORT=`$QPIDD -dp0` || { echo "Cannot start $QPIDD" ; exit 1; }
trap "$QPIDD -q" EXIT
fi
+cleanup() {
+ test -n "$QPIDD" && $QPIDD -q # Private broker
+ kill %% > /dev/null 2>&1 # Leftover background jobs
+}
+
+trap cleanup EXIT
+
ARGS="${QPID_HOST:-localhost} $QPID_PORT"
@@ -25,7 +29,7 @@ waitfor() { until grep -a -l "$2" $1 >/dev/null 2>&1 ; do sleep 1 ; done ; }
background() {
pattern=$1; shift
- "$@" > $1.out &
+ eval "$@ $ARGS > $1.out &"
waitfor $1.out $pattern
}