summaryrefslogtreecommitdiffstats
path: root/patches/source/NetworkManager/55NetworkManager
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/NetworkManager/55NetworkManager')
-rw-r--r--patches/source/NetworkManager/55NetworkManager39
1 files changed, 39 insertions, 0 deletions
diff --git a/patches/source/NetworkManager/55NetworkManager b/patches/source/NetworkManager/55NetworkManager
new file mode 100644
index 00000000..d7b3ee6a
--- /dev/null
+++ b/patches/source/NetworkManager/55NetworkManager
@@ -0,0 +1,39 @@
+#!/bin/sh
+# If we are running NetworkManager, tell it we are going to sleep.
+
+. "${PM_FUNCTIONS}"
+
+suspend_nm()
+{
+ # Tell NetworkManager to shut down networking
+ printf "Having NetworkManager put all interaces to sleep..."
+ dbus_send --system --print-reply \
+ --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+ org.freedesktop.NetworkManager.Sleep \
+ boolean:true && \
+ echo Done. || echo Failed.
+}
+
+resume_nm()
+{
+ # Wake up NetworkManager and make it do a new connection
+ printf "Having NetworkManager wake interfaces back up..."
+ dbus_send --system --print-reply \
+ --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+ org.freedesktop.NetworkManager.Sleep \
+ boolean:false && \
+ echo Done. || echo Failed.
+}
+
+case "$1" in
+ hibernate|suspend)
+ suspend_nm
+ ;;
+ thaw|resume)
+ resume_nm
+ ;;
+ *) exit $NA
+ ;;
+esac