diff options
author | Ori Bernstein <ori@eigenstate.org> | 2019-09-06 11:57:08 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2019-09-06 11:57:08 -0700 |
commit | d1204d9b8085634241bf5655279e54a606406cb1 (patch) | |
tree | 51b910b5947885cbb2ab5a838859c2818f3bac13 | |
parent | 27824a6c0b805cf5bd819d904d8eba186b489012 (diff) | |
parent | 98e2ea45fb498274b4ea2af48db5c500d7614f7b (diff) | |
download | plan9front-d1204d9b8085634241bf5655279e54a606406cb1.tar.xz |
merge
-rw-r--r-- | sys/src/cmd/ip/ipconfig/dhcp.c | 19 | ||||
-rw-r--r-- | sys/src/cmd/ip/ipconfig/main.c | 2 |
2 files changed, 17 insertions, 4 deletions
diff --git a/sys/src/cmd/ip/ipconfig/dhcp.c b/sys/src/cmd/ip/ipconfig/dhcp.c index 2b28a7f87..05c363dcb 100644 --- a/sys/src/cmd/ip/ipconfig/dhcp.c +++ b/sys/src/cmd/ip/ipconfig/dhcp.c @@ -155,11 +155,25 @@ dhcpinit(void) memcpy(requested, defrequested, nrequested); } +static void +removenulladdr(void) +{ + fprint(conf.cfd, "remove %I %M", IPnoaddr, IPnoaddr); + atexitdont(removenulladdr); +} + +static void +addnulladdr(void) +{ + atexit(removenulladdr); + fprint(conf.cfd, "add %I %M", IPnoaddr, IPnoaddr); +} + void dhcpquery(int needconfig, int startstate) { if(needconfig) - fprint(conf.cfd, "add %I %M", IPnoaddr, IPnoaddr); + addnulladdr(); conf.fd = openlisten(); if(conf.fd < 0){ @@ -192,8 +206,7 @@ dhcpquery(int needconfig, int startstate) close(conf.fd); if(needconfig) - fprint(conf.cfd, "remove %I %M", IPnoaddr, IPnoaddr); - + removenulladdr(); } enum { diff --git a/sys/src/cmd/ip/ipconfig/main.c b/sys/src/cmd/ip/ipconfig/main.c index 20113725c..52cf46fd9 100644 --- a/sys/src/cmd/ip/ipconfig/main.c +++ b/sys/src/cmd/ip/ipconfig/main.c @@ -806,7 +806,7 @@ catch(void*, char *msg) { if(strstr(msg, "alarm")) noted(NCONT); - noted(NDFLT); + exits(msg); } /* return pseudo-random integer in range low...(hi-1) */ |