40 lines
878 B
Bash
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
|