Index: ods-control.in =================================================================== --- ods-control.in (revision 3778) +++ ods-control.in (working copy) @@ -75,9 +75,16 @@ if [ -r "$enforcer_pid_file" ]; then kill -TERM `cat "$enforcer_pid_file"` RETVAL=$? - while [ -r "$enforcer_pid_file" ]; do - sleep 1 - done + if [ $RETVAL -ne 0 ]; then + # Enforcer died but left the PID file + echo "Found stale PID file, removing..." + rm -f "$enforcer_pid_file" + else + # Enforcer may take a while to finish, we wait + while [ -r "$enforcer_pid_file" ]; do + sleep 1 + done + fi else echo "Cannot find PID file" RETVAL=1