Remove the last semi-colon of the --> line. That's in the 'if' and has a newline. No semi-colon needed. Might be some other way to write all that, too.
Or just formatting - I assume you did and it just got lost in posting.
Code:
WOLSLEEP=""
if [ "${WOLSEND}" = yes ]; then
if [ -f /etc/sysconfig/networking/profiles/default/wakeup.conf ]; then
while read woldev woladd woldelay; do
case ${woldev} in
"#" ) continue
;;
host ) WOLSLEEP=${woldelay}
;;
eth* ) if [ "${woldev}" = "${DEVICE}" ]; then
/sbin/wol_wakeup ${woldev} ${woladd} ${woldelay} &
fi
;;
esac
done < /etc/sysconfig/networking/profiles/default/wakeup.conf
fi
if [ "${WOLSLEEP}" != "" ]; then
echo "Waiting "$WOLSLEEP" seconds for other host(s) to wake up."
sleep $WOLSLEEP
fi
fi
Just guessing, as I can't think how to quickly test that myself. Could be wrong. A quick butchery of it into nothingness made it exit silently whereas the semi-colon threw an error.