#!/bin/bash -x cd `dirname $0` source ../env.sh || exit 1 rm -rf /tmp/criu.unix.callback.test* test -f pid && unlink pid test -f output && unlink output rm -rf data mkdir -p data ./unix-server & srv_pid=$! for i in `seq 20`; do test -f /tmp/criu.unix.callback.test && break sleep 0.1 done ( setsid ./unix-client < /dev/null &> output ) & while :; do test -f pid && break sleep 1 done pid=`cat pid` ${CRIU} dump -D data -o dump.log -v4 --lib `pwd`/lib -t $pid || exit 1 kill $srv_pid wait $srv_pid unlink /tmp/criu.unix.callback.test ./unix-server & srv_pid=$! for i in `seq 20`; do test -f /tmp/criu.unix.callback.test && break sleep 0.1 done ${CRIU} restore -D data -o restore.log -v4 --lib `pwd`/lib -d || exit 1 kill $pid while :; do cat output | grep PASS && break sleep 1 done cat output kill $srv_pid