guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/07: installer: Kill old dhclient instance before starting new one.


From: John Darrington
Subject: 02/07: installer: Kill old dhclient instance before starting new one.
Date: Sun, 19 Feb 2017 12:30:55 -0500 (EST)

jmd pushed a commit to branch wip-installer
in repository guix.

commit 3692717551b06eb26fee6145fa2e74d513e2391a
Author: John Darrington <address@hidden>
Date:   Tue Feb 14 15:40:38 2017 +0100

    installer: Kill old dhclient instance before starting new one.
    
    * gnu/system/installer/network.scm (dhclient):: New procedure.
    * gnu/system/installer/wireless.scm (wireless-page-key-handler): Use it.
---
 gnu/system/installer/network.scm  | 9 ++++++++-
 gnu/system/installer/wireless.scm | 6 ++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/gnu/system/installer/network.scm b/gnu/system/installer/network.scm
index 2ddaaed..60ae111 100644
--- a/gnu/system/installer/network.scm
+++ b/gnu/system/installer/network.scm
@@ -31,10 +31,17 @@
   #:use-module (ncurses curses)
   #:use-module (guix store)
 
+  #:export (dhclient)
   #:export (make-network-page))
 
 (include "i18n.scm")
 
+
+(define (dhclient interface)
+  (system* "dhclient" "-r" interface)
+  (zero? (system* "dhclient" interface)))
+
+
 (define (make-network-page parent  title)
   (make-page (page-surface parent)
             title
@@ -125,7 +132,7 @@
       (let ((item (menu-get-current-item menu)))
         (when (eq? (assq-ref item 'class) 'ethernet)
           (and (zero? (system* "ip" "link" "set" (assq-ref item 'name) "up"))
-               (zero? (system* "dhclient" (assq-ref item 'name)))))))
+               (dhclient (assq-ref item 'name))))))
 
      ((buttons-key-matches-symbol? nav ch 'test)
       (let ((next  (make-page (page-surface page)
diff --git a/gnu/system/installer/wireless.scm 
b/gnu/system/installer/wireless.scm
index e195d1d..f45ae64 100644
--- a/gnu/system/installer/wireless.scm
+++ b/gnu/system/installer/wireless.scm
@@ -20,6 +20,7 @@
   #:use-module (gnu system installer page)
   #:use-module (gnu system installer ping)
   #:use-module (gnu system installer passphrase)
+  #:use-module (gnu system installer network)
   #:use-module (gnu system installer misc)
   #:use-module (gnu system installer utils)
   #:use-module (ice-9 format)
@@ -48,6 +49,7 @@
 
 (define my-buttons `((cancel ,(M_ "Canc_el") #t)))
 
+
 (define (wireless-page-key-handler page ch)
   (let ((nav  (page-datum page 'navigation))
         (menu  (page-datum page 'menu))
@@ -87,7 +89,7 @@
             (begin
               (and (zero? (system* "ip" "link" "set" ifce "up"))
                    (zero? (system* "iw" "dev" ifce "connect" (assq-ref ap 
'essid)))
-                   (zero? (system* "dhclient" ifce)))
+                   (dhclient ifce))
               (page-leave))))))
 
     (std-menu-key-handler menu ch)
@@ -273,4 +275,4 @@ network={
        (with-output-to-file "/dev/null"
          (lambda ()
            (and (zero? (system* "wpa_supplicant" "-c" filename "-i" ifce "-B"))
-                (zero? (system* "dhclient" ifce)))))))))
+                (dhclient ifce))))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]