app-emulation/lxc: Improve init script for shutting down containers. Bug #556826
authorMarkos Chandras <hwoarang@gentoo.org>
Sat, 5 Sep 2015 07:06:10 +0000 (08:06 +0100)
committerMarkos Chandras <hwoarang@gentoo.org>
Sat, 5 Sep 2015 08:08:22 +0000 (09:08 +0100)
Package-Manager: portage-2.2.20.1

app-emulation/lxc/files/lxc.initd.3

index c9ef999199225370b91d321eb8b7093e9db7b847..092085400649b4ea1bf21b2e748d4a341beeaf4d 100644 (file)
@@ -111,29 +111,8 @@ stop() {
            return 0
        fi
 
-       init_pid=$(lxc-info -n ${CONTAINER} --pid | awk '{ print $2 }')
-
-       if [ -z "${init_pid}" ]; then
-           ewarn "${CONTAINER} doesn't seem to be running."
-           return 0
-       fi
-
-       ebegin "Shutting down system in ${CONTAINER}"
-       kill -PWR ${init_pid}
-       eend $?
-
-       TIMEOUT=${TIMEOUT:-30}
-       i=0
-       while [ -n "$(pgrep -P ${init_pid})" -a $i -lt ${TIMEOUT} ]; do
-               sleep 1
-               i=$(expr $i + 1)
-       done
-
-       if [ -n "${missingprocs}" ]; then
-               ewarn "Something failed to properly shut down in ${CONTAINER}"
-       fi
-
+       # 10s should be enough to shut everything down
        ebegin "Stopping ${CONTAINER}"
-       lxc-stop -n ${CONTAINER}
+       lxc-stop -t 10 -n ${CONTAINER}
        eend $?
 }