p2p/rlpx: prefer returning new queued packets over errors

This fixes intermittent failures in the p2p tests.
This commit is contained in:
Felix Lange 2015-12-08 20:29:07 +01:00
parent e66ead8d86
commit f296300509

View file

@ -332,7 +332,7 @@ func (p *Protocol) ReadPacket() (totalSize uint32, r io.Reader, err error) {
for len(p.newPackets) == 0 && p.readErr == nil { for len(p.newPackets) == 0 && p.readErr == nil {
p.readCond.Wait() p.readCond.Wait()
} }
if p.readErr != nil { if len(p.newPackets) == 0 && p.readErr != nil {
return 0, nil, p.readErr return 0, nil, p.readErr
} }
pr := p.newPackets[0] pr := p.newPackets[0]