missing error handling added

This commit is contained in:
Torsten Harenberg
2025-02-28 14:59:31 +01:00
parent 49058adbfd
commit 4ed3ce9b10
7 changed files with 265 additions and 147 deletions

View File

@@ -16,8 +16,18 @@ func trxControl() {
if err != nil {
writeDebug(fmt.Sprintf("trxControl: error opening PTY: %v", err), 0)
}
defer master.Close()
defer slave.Close()
defer func() {
err := master.Close()
if err != nil {
writeDebug(fmt.Sprintf("trxControl: error closing PTY: %v", err), 0)
}
}()
defer func() {
err := slave.Close()
if err != nil {
writeDebug(fmt.Sprintf("trxControl: error closing PTY: %v", err), 0)
}
}()
err = os.Remove(ptypath)
if err := os.Symlink(slave.Name(), ptypath); err != nil {
@@ -29,8 +39,11 @@ func trxControl() {
for {
cmd, err := s.FromTRX.Dequeue(1024)
if err == nil {
master.Write(cmd)
writeDebug("From TRX response ("+strconv.Itoa(len(cmd))+"):\n"+hexdump.Dump(cmd), 1)
_, err = master.Write(cmd)
if err != nil {
writeDebug(fmt.Sprintf("trxControl: error writing to PTY: %v", err), 0)
}
}
time.Sleep(30 * time.Millisecond)
}
@@ -43,7 +56,10 @@ func trxControl() {
for {
time.Sleep(100 * time.Millisecond)
// looks like gpsd does not expect \n terminated lines so read what is there from the socket
master.SetReadDeadline(time.Now().Add(100 * time.Millisecond))
err := master.SetReadDeadline(time.Now().Add(100 * time.Millisecond))
if err != nil {
writeDebug(fmt.Sprintf("trxControl: error setting read deadline: %v", err), 0)
}
buff := make([]byte, 1024)
n, err := rd.Read(buff)
t := buff[:n]