#!/bin/sh
. $TESTDIR/src/functions.sh

# DEBUG_WAIT=y

x=`id`; IFS="=(" ; set $x; IFS=") " ; set $*; IFS=" "
USERID="$2"
USERNAME="$3"

thisid=$$

grepproc () {
  if [ $SYSV = 0 ] ; then
     ps auxww | egrep -e "$*"|grep -v grep | grep $USERNAME
  else
     ps -el | egrep -e "$*"|grep -v grep| grep $USERID
  fi
}

spin () {
    if [ "${ISATTY:-0}" = 1 ] ; then
	case "${SPINNER:-|}" in
	'|' ) SPINNER='/' ;;
	'/' ) SPINNER='-' ;;
	'-' ) SPINNER='\' ;;
	'\' ) SPINNER='|' ;;
	'|' ) SPINNER='/' ;;
	'/' ) SPINNER='-' ;;
	'-' ) SPINNER='\' ;;
	'\' ) SPINNER='|' ;;
	esac; echon "$SPINNER"
    fi
}

spin; sleep 1		# give it time to start printing

while true ; do
    if [ "${DEBUG_WAIT:-}" = y ] ; then
	grepproc lpd > OUT
	lines=`wc -l < OUT`
	cat OUT
	rm OUT
    else
	lines=`grepproc lpd | wc -l`
    fi

  if [ $lines -lt 1 ] ; then
    echo "(lpd has died, restarting)" 1>&2
    lpd
    exit

  elif [ $lines -gt 1 ] ; then
    spin; sleep 1

  else
    exit
  fi
done
