mirror of https://github.com/qwc/backive.git
Fix retrying ui connection
This commit is contained in:
parent
0e98dc93e9
commit
559e7f72b3
|
@ -58,34 +58,39 @@ func PollConnection() {
|
||||||
log.Println("Creating connection")
|
log.Println("Creating connection")
|
||||||
c, err = net.Dial("unix", config.Settings.UIUnixSocketLocation)
|
c, err = net.Dial("unix", config.Settings.UIUnixSocketLocation)
|
||||||
} // else already connected
|
} // else already connected
|
||||||
|
// receive msgs
|
||||||
|
if c != nil && err == nil {
|
||||||
|
data := make([]byte, 2048)
|
||||||
|
nr, err := c.Read(data)
|
||||||
|
log.Printf("Read %d bytes...", nr)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error reading data from socket: %s", err)
|
||||||
|
c = nil
|
||||||
|
}
|
||||||
|
if err == nil {
|
||||||
|
sdata := string(bytes.Trim(data, "\x00"))
|
||||||
|
var message map[string]string
|
||||||
|
log.Printf("Reading JSON: %s", sdata)
|
||||||
|
errjson := json.Unmarshal([]byte(sdata), &message)
|
||||||
|
if errjson != nil {
|
||||||
|
err = errjson
|
||||||
|
log.Printf("Error parsing json: %s", errjson)
|
||||||
|
c = nil
|
||||||
|
}
|
||||||
|
if errjson == nil {
|
||||||
|
ShowNotification(message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// handle error on connection
|
// handle error on connection
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Printf("Error during communication: %s", err)
|
||||||
// ignore
|
// ignore
|
||||||
err = nil
|
err = nil
|
||||||
c = nil
|
c = nil
|
||||||
// sleep a while and then retry
|
// sleep a while and then retry
|
||||||
time.Sleep(10 * time.Second)
|
time.Sleep(10 * time.Second)
|
||||||
}
|
}
|
||||||
// receive msgs
|
|
||||||
if c != nil {
|
|
||||||
data := make([]byte, 2048)
|
|
||||||
nr, err := c.Read(data)
|
|
||||||
log.Printf("Read %d bytes...", nr)
|
|
||||||
if err != nil {
|
|
||||||
log.Println(err)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
sdata := string(bytes.Trim(data, "\x00"))
|
|
||||||
var message map[string]string
|
|
||||||
log.Printf("Reading JSON: %s", sdata)
|
|
||||||
errjson := json.Unmarshal([]byte(sdata), &message)
|
|
||||||
if errjson != nil {
|
|
||||||
log.Println(errjson)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
ShowNotification(message)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue