#!/bin/bash
### BEGIN INIT INFO
# Provides:            pipeline
# Required-Start:      uevent udev
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:       3 4 5
# Default-Stop:
# X-LFS-Provided-By:   LFS
### END INIT INFO

. /.initrd/initenv
. /etc/init.d/template

NAME=pipelined
PIDFILE="/var/run/$NAME.pid"
ARGS="--lockfile $LOCKFILE --pidfile $PIDFILE --name $NAME --displayname $NAME"

prepare() {
	local dir i n

	dir=/.initrd/pipeline/waitdev
	mkdir -p -- "$dir"

	i=0
	while [ "$i" -lt "${WAITDEV:-0}" ]; do
		touch "$dir/$i"
		i=$(($i + 1))
	done
}

start() {
	RETVAL=0
	if [ "${ROOT-}" = pipeline ]; then
		prepare
		start_daemon --background $ARGS "$NAME"
		RETVAL=$?
	fi
	return $RETVAL
}

stop() {
	stop_daemon $ARGS "$NAME"
	RETVAL=$?
	[ ! -f "$PIDFILE" ] || rm -f -- "$PIDFILE"
	return $RETVAL
}

switch "${1-}"
