* control: safely restart DHCP server

* control: use mutex in all POST,PUT,DELETE handlers
This commit is contained in:
Simon Zolin
2019-03-05 18:04:49 +03:00
parent 67014c40f7
commit 6f69fb73af
3 changed files with 15 additions and 6 deletions

12
dhcp.go
View File

@@ -50,6 +50,11 @@ func handleDHCPSetConfig(w http.ResponseWriter, r *http.Request) {
return
}
err = dhcpServer.Stop()
if err != nil {
log.Error("failed to stop the DHCP server: %s", err)
}
if newconfig.Enabled {
err := dhcpServer.Start(&newconfig)
if err != nil {
@@ -57,12 +62,7 @@ func handleDHCPSetConfig(w http.ResponseWriter, r *http.Request) {
return
}
}
if !newconfig.Enabled {
err := dhcpServer.Stop()
if err != nil {
log.Error("failed to stop the DHCP server: %s", err)
}
}
config.DHCP = newconfig
httpUpdateConfigReloadDNSReturnOK(w, r)
}