40 lines
878 B
Bash

#!/bin/sh
LUA=lua
echo "Starting philosopher's server"
$LUA philo.lua &
pids="$pids $!"
trap "kill $pids > /dev/null 2> /dev/null" 0
for((i=0;i<10;++i));do if test -r philo.ior;then break;else sleep 1;fi;done
echo "Starting fork server"
$LUA fork.lua &
pids="$pids $!"
trap "kill $pids > /dev/null 2> /dev/null" 0
for((i=0;i<10;++i));do if test -r fork.ior;then break;else sleep 1;fi;done
echo "Starting observer server"
$LUA observer.lua &
pids="$pids $!"
trap "kill $pids > /dev/null 2> /dev/null" 0
for((i=0;i<10;++i));do if test -r observer.ior;then break;else sleep 1;fi;done
echo "Configuring and starting application"
$LUA config.lua
echo "Execute for 30 secs. for a deadlock situation"
sleep 30
echo "Adapt application to prevent deadlocks"
$LUA adapt.lua
echo "Execute for more 30 secs."
sleep 30
echo "Demo finished."
rm -f philo.ior fork.ior observer.ior