diff options
author | Felix Lange <fjl@twurst.com> | 2015-08-08 08:49:28 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-08-11 17:42:17 +0800 |
commit | 590c99a98fd4e58fd34db7e31639b240461ee532 (patch) | |
tree | 0f2890729987d609dd3fa0ab64a9dd86aa05863a /p2p/protocol.go | |
parent | 01ed3fa1a9414328eb6c4fc839e1b2044a786a7a (diff) | |
download | go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.tar go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.tar.gz go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.tar.bz2 go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.tar.lz go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.tar.xz go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.tar.zst go-tangerine-590c99a98fd4e58fd34db7e31639b240461ee532.zip |
p2p/discover: fix UDP reply packet timeout handling
If the timeout fired (even just nanoseconds) before the deadline of the
next pending reply, the timer was not rescheduled. The timer would've
been rescheduled anyway once the next packet was sent, but there were
cases where no next packet could ever be sent due to the locking issue
fixed in the previous commit.
As timing-related bugs go, this issue had been present for a long time
and I could never reproduce it. The test added in this commit did
reproduce the issue on about one out of 15 runs.
Diffstat (limited to 'p2p/protocol.go')
0 files changed, 0 insertions, 0 deletions