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:
parent
6417d3e064
commit
7750657783
1 changed files with 31 additions and 0 deletions
31
etc/rc
31
etc/rc
|
@ -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
|
||||
;;
|
||||
|
|
Loading…
Reference in a new issue