Skip to content

Commit adb53db

Browse files
committed
bug fix in failover server, only error out if io error
1 parent 5a76c42 commit adb53db

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

failover.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func (s *FailoverSerialConn) serverRead(b []byte) (int, error) {
8888
}
8989
n, err := s.PacketReader.Read(b)
9090
if err != nil {
91-
return n, err
91+
return n, err //only real io errors are exposed
9292
}
9393
s.lock.Lock()
9494
locked = true
@@ -115,7 +115,9 @@ func (s *FailoverSerialConn) serverRead(b []byte) (int, error) {
115115
pdu, err := rtu.GetPDU()
116116
if err != nil {
117117
debugf("failover serverRead internal GetPDU error : %v", err)
118-
return n, err //bubbles formate up errors
118+
s.misses = 0
119+
debugf("reset misses\n")
120+
continue //throw away and read again
119121
}
120122
if rtu[0] == 0 {
121123
//zero slave id do not have a reply, so we won't expect one

0 commit comments

Comments
 (0)