diff options
author | Felföldi Zsolt <zsfelfoldi@gmail.com> | 2018-06-12 21:58:47 +0800 |
---|---|---|
committer | Felix Lange <fjl@users.noreply.github.com> | 2018-06-12 21:58:47 +0800 |
commit | 25982375a8ed57f623775951e6cdef21bfbc2b34 (patch) | |
tree | c3635a99e0ce46caf68e2d2e47ca276caadf746f /les/backend.go | |
parent | 049f5b357200406c01f7bf2d2e2936d1d28a319b (diff) | |
download | go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.tar go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.tar.gz go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.tar.bz2 go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.tar.lz go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.tar.xz go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.tar.zst go-tangerine-25982375a8ed57f623775951e6cdef21bfbc2b34.zip |
les: fix retriever logic (#16776)
This PR fixes a retriever logic bug. When a peer had a soft timeout
and then a response arrived, it always assumed it was the same peer
even though it could have been a later requested one that did not time
out at all yet. In this case the logic went to an illegal state and
deadlocked, causing a goroutine leak.
Fixes #16243 and replaces #16359.
Thanks to @riceke for finding the bug in the logic.
Diffstat (limited to 'les/backend.go')
0 files changed, 0 insertions, 0 deletions