summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/dmd.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/gnu/system/dmd.scm b/gnu/system/dmd.scm
index 8cc3f61c74..4d3b4b31f0 100644
--- a/gnu/system/dmd.scm
+++ b/gnu/system/dmd.scm
@@ -178,10 +178,14 @@ true, it must be a string specifying the default network gateway."
      (start `(lambda _
                (and (zero? (system* ,ifconfig ,interface ,ip "up"))
                     ,(if gateway
-                         `(zero? (system* ,route "add" "-net" "default"
-                                          "gw" ,gateway))
+                         `(begin
+                            (sleep 3)             ; XXX
+                            (zero? (system* ,route "add" "-net" "default"
+                                            "gw" ,gateway)))
                          #t))))
-     (stop  `(make-forkexec-constructor ,ifconfig ,interface "down"))
+     (stop  `(lambda _
+               (system* ,ifconfig ,interface "down")
+               (system* ,route "del" "-net" "default")))
      (respawn? #f)
      (inputs `(("inetutils" ,inetutils)
                ,@(if gateway