Add hot plugging infrastructure in rc file.

Adding hot plugging infrastructure in rc file. This includes
starting the devman service, mounting it's file system and
starting the corresponding devmand daemon.

This patch also provide error free shutdown of the USB sub-system.

The USB sub system needs to be shutdown in a certain order but also
consists of components living in /usr/pkg/. By checking the
existence of usbd we can stop it in the correct order.
This commit is contained in:
Kees Jongenburger 2012-06-04 11:15:23 +00:00
parent 6417d3e064
commit 7750657783

31
etc/rc
View file

@ -189,10 +189,41 @@ start)
cp /usr/lib/em* /usr/lib/cpp* /lib
esac
echo -n "Starting hotplugging infrastructure... "
service up /sbin/devman
if [ ! -d /sys ]
then
mkdir /sys
fi
mount -e -t devman none /sys
rm -f /var/tmp/devmand_control
rm -f /var/run/devmand.pid
devmand -d /etc/devmand -d /usr/pkg/etc/devmand &
echo "done."
# Things should be alright now.
;;
down|stop)
sync
if [ -f /var/run/devmand.pid ]
then
kill -INT `cat /var/run/devmand.pid`
# without this delay the following will
# be printed in the console
# RS: devman not running?
sleep 1
fi
#
# usbd needs to be stopped exactly
# at this stage(before stopping devman
# and after stopping the services
# stated by devmand)
if [ -x /usr/pkg/etc/rc.d/usbd ]
then
/usr/pkg/etc/rc.d/usbd stop
fi
umount -e /sys
service down devman
# Tell RS server we're going down.
service shutdown
;;