#47 ModbusTCPTransaction retries once too often

v1.2rc1
closed-fixed
Transport (27)
5
2012-08-11
2012-08-11
Julie Haugh
No

The execute() method in ModbusTCPTransaction retries one time more than the number of configured retries. This aggravates the lack of TCP transaction ID re-synchronization by causing additional packets with the incorrect transaction ID to be in-flight when the network is slow.

The fix is to properly test the boundary condition when m_Retries is set to 0 and default to a single try, then use strictly less than in the comparison otherwise.

Discussion

  • Fixed in HEAD on SVN.

     
    • labels: --> Transport
    • milestone: --> v1.2rc1
    • assigned_to: nobody --> wimpi
    • status: open --> open-fixed
     
    • status: open-fixed --> closed-fixed