mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-19 13:47:54 +00:00
Merge pull request #4 from resin-io/RES-1304-investigate-use-of-logfatal-and
Prevent non-fatal errors from closing the supervisor.
This commit is contained in:
commit
d90c3f0414
@ -120,7 +120,12 @@ func inASecond(theFunc func()) {
|
||||
//RebootHandler Reboots the device using Systemd
|
||||
func RebootHandler(writer http.ResponseWriter, request *http.Request) {
|
||||
log.Println("Rebooting")
|
||||
sendResponse, _ := responseSenders(writer)
|
||||
|
||||
sendResponse, sendError := responseSenders(writer)
|
||||
if systemd.Logind == nil {
|
||||
sendError(fmt.Errorf("Logind unavailable, cannot reboot."))
|
||||
return
|
||||
}
|
||||
sendResponse("OK", "", http.StatusAccepted)
|
||||
go inASecond(func() { systemd.Logind.Reboot(false) })
|
||||
}
|
||||
@ -129,7 +134,11 @@ func RebootHandler(writer http.ResponseWriter, request *http.Request) {
|
||||
func ShutdownHandler(writer http.ResponseWriter, request *http.Request) {
|
||||
log.Println("Shutting down")
|
||||
|
||||
sendResponse, _ := responseSenders(writer)
|
||||
sendResponse, sendError := responseSenders(writer)
|
||||
if systemd.Logind == nil {
|
||||
sendError(fmt.Errorf("Logind unavailable, cannot shut down."))
|
||||
return
|
||||
}
|
||||
sendResponse("OK", "", http.StatusAccepted)
|
||||
go inASecond(func() { systemd.Logind.PowerOff(false) })
|
||||
}
|
||||
@ -192,6 +201,12 @@ func VPNControl(writer http.ResponseWriter, request *http.Request) {
|
||||
sendResponse("Error", err.Error(), http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
if systemd.Dbus == nil {
|
||||
sendError(fmt.Errorf("Systemd dbus unavailable, cannot set VPN state."))
|
||||
return
|
||||
}
|
||||
|
||||
action := systemd.Dbus.StopUnit
|
||||
actionDescr := "VPN Disable"
|
||||
if body.Enable {
|
||||
|
@ -17,9 +17,9 @@ var (
|
||||
func init() {
|
||||
var err error
|
||||
if Logind, err = login1.New(); err != nil {
|
||||
log.Fatalf("Failed to connect to host system bus: %s", err)
|
||||
log.Printf("Failed to connect to host system bus: %s", err)
|
||||
}
|
||||
if Dbus, err = dbus.New(); err != nil {
|
||||
log.Fatalf("Failed to connect to host DBUS: %s", err)
|
||||
log.Printf("Failed to connect to host DBUS: %s", err)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user