summaryrefslogtreecommitdiffstats
path: root/src/ceph-run
blob: 764101c564f84d639a3321200a47773b8570cd14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

sleep=5
no_restart=0

if [ $1 == "--no-restart" ]; then
    no_restart=1
    shift
fi

while [ true ]; do
    "$@"
    exit_code=$?
    
    if [ $exit_code -gt 128 ] && [ $no_restart -eq 0 ]; then
	case $(($exit_code-128)) in
	    3 | 4 | 5 | 6 | 8 | 11)
		;;
	    *)
		exit;
	esac
	echo ceph-run: $1 dumped core, restarting in $sleep seconds...
	sleep $sleep
    else
	exit
    fi
done