#!/bin/sh

if [ $# -eq 0 ]; then
    echo "usage: `basename $0` <symlink> <pidfile> [net2kiss args...]" 1>&2
    exit 1
fi

SYMLINK=$1
shift
PIDFILE=$1
shift

TMPFILE=`mktemp`

if test $? -ne 0; then
    echo "`basename $0`: error creating tempfile"
    exit 1
fi

net2kiss "$@" > $TMPFILE &

PID=$!

while kill -0 $PID > /dev/null 2>&1; do
    len=`wc -l $TMPFILE | cut -d' ' -f1`
    if test $len -eq 2; then
        break
    fi
done

if test $len -ne 2; then
    rm $TMPFILE
    echo "`basename $0`: net2kiss seems to have died..." 1>&2
    exit 1
fi

echo $PID > $PIDFILE
ln -sf `tail -n 1 $TMPFILE` $SYMLINK

if test $? -ne 0; then
    echo "`basename $0`: failure creating symlink" 1>&2
    exit 1
fi

rm $TMPFILE

exit 0
