1b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#! /bin/sh
2b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
3b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# simulate control_c by sending SIGUSR1 to the vgdb using prefix $1 in $2 seconds
4b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# If there are some args after $2, the rest of these args is a command and its arg
5b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# which is run every second. When this command is succesful, then the sleep and
6b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov# the control c simul is done.
7b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovPREFIX=$1
8b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovshift
9b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovSLEEP=$1
10b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovshift
11b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovGUARDCMD="$@"
12b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovif [ "$GUARDCMD" = "" ]
13b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovthen
14b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  GUARDCMD="true"
15b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovfi
16b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovVGDBPID=`./vgdb -D $PREFIX 2>&1 | awk '/vgdb pid/ {print $3}'`
17b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovif [ "$VGDBPID" = "" ]
18b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovthen
19b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  echo "simulate_control_c could not determine the vgdb pid with " $PREFIX
20b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  exit 1
21b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovfi
22b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov(while ! $GUARDCMD >> garbage.filtered.out 2>&1
23b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov do
24b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   sleep 1
25b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov done
26b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov sleep $SLEEP
27b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov kill -10 $VGDBPID) &
28