Hi

I think a better thing would be to block ifup requests from udev script
until networking initscript has finished

The following diff seems to work.

--- net.agent.orig      2014-08-08 15:41:17.389440075 +0100
+++ net.agent   2014-08-08 16:26:46.869439749 +0100
@@ -49,6 +49,12 @@

     wait_for_interface lo

+    if [ -d /run/systemd/system ]; then
+        while systemctl list-jobs | grep -q network.target ; do
+            sleep 1
+        done
+    fi
+
     exec ifup --allow=hotplug $INTERFACE
 }

I shamelessly ripped off the test from:
http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/2014-July/002630.html

Technically it waits for when the initscript is not running rather then waiting for it to finish, I had first come up with:

+ if [ -d /run/systemd/system ] && systemctl -q is-active networking ; then
+        while ! systemctl show -p Result | grep -q =success$ ; do

but then found the above on the systemd-maintainers mailing list which felt saner. tbh I'm not 100% sure which is the more appropriate here (or if another variation would be better). Given the wait for lo which signifies that networking should have started if it is in use I think the first is fine though.

Hope this helps.

Thanks,

Niall


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to