Do not try to signal NetworkManager before suspend if it isn't running
Sending dbus calls to a service which isn't running _and is blocked to not be started_ would result in timeout, which would delay the whole system suspend. Fixes QubesOS/qubes-issues#1419
This commit is contained in:
parent
d4c238c45e
commit
cb5c457fba
@ -12,11 +12,13 @@ if [ -r /rw/config/suspend-module-blacklist ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ x"$action" = x"suspend" ]; then
|
if [ x"$action" = x"suspend" ]; then
|
||||||
|
if [ -f /var/run/qubes-service/network-manager ]; then
|
||||||
dbus-send --system --print-reply \
|
dbus-send --system --print-reply \
|
||||||
--dest=org.freedesktop.NetworkManager \
|
--dest=org.freedesktop.NetworkManager \
|
||||||
/org/freedesktop/NetworkManager \
|
/org/freedesktop/NetworkManager \
|
||||||
org.freedesktop.NetworkManager.Sleep boolean:true || \
|
org.freedesktop.NetworkManager.Sleep boolean:true || \
|
||||||
service NetworkManager stop
|
service NetworkManager stop
|
||||||
|
fi
|
||||||
# Force interfaces down, just in case when NM didn't done it
|
# Force interfaces down, just in case when NM didn't done it
|
||||||
for if in `ls /sys/class/net|grep -v "lo\|vif"`; do
|
for if in `ls /sys/class/net|grep -v "lo\|vif"`; do
|
||||||
if [ "`cat /sys/class/net/$if/device/devtype 2>/dev/null`" = "vif" ]; then
|
if [ "`cat /sys/class/net/$if/device/devtype 2>/dev/null`" = "vif" ]; then
|
||||||
@ -36,9 +38,11 @@ else
|
|||||||
for mod in `cat /var/run/qubes/suspend-modules-loaded`; do
|
for mod in `cat /var/run/qubes/suspend-modules-loaded`; do
|
||||||
modprobe $mod
|
modprobe $mod
|
||||||
done
|
done
|
||||||
|
if [ -f /var/run/qubes-service/network-manager ]; then
|
||||||
dbus-send --system --print-reply \
|
dbus-send --system --print-reply \
|
||||||
--dest=org.freedesktop.NetworkManager \
|
--dest=org.freedesktop.NetworkManager \
|
||||||
/org/freedesktop/NetworkManager \
|
/org/freedesktop/NetworkManager \
|
||||||
org.freedesktop.NetworkManager.Sleep boolean:false || \
|
org.freedesktop.NetworkManager.Sleep boolean:false || \
|
||||||
{ [ -x /bin/systemctl ] && systemctl start NetworkManager.service; } || service qubes-core-netvm start
|
{ [ -x /bin/systemctl ] && systemctl start NetworkManager.service; } || service qubes-core-netvm start
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user