aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-09-27 00:41:33 +0200
committerLudovic Courtès <ludo@gnu.org>2013-09-27 00:46:18 +0200
commit87eb734d38dff72ccdffd6c5f711d276aa3f9334 (patch)
treeae4868df0da9b41914d9de385dea146e160ab3d5 /gnu/system
parent17886b302246476134a222fe970c90aef9aabc72 (diff)
downloadguix-87eb734d38dff72ccdffd6c5f711d276aa3f9334.tar
guix-87eb734d38dff72ccdffd6c5f711d276aa3f9334.tar.gz
gnu: dmd: Make the 'networking' service slightly more robust.
* gnu/system/dmd.scm (static-networking-service)[start]: Sleep before running 'route', to leave time for the interface to come up. [stop]: Run "route del -net default".
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