mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-29 16:41:36 +00:00
make sure the sessionInfo.recvWorker doesn't block if sinfo.recv somehow fills
This commit is contained in:
parent
71e9ca25f7
commit
9ab08446ff
@ -495,7 +495,11 @@ func (sinfo *sessionInfo) recvWorker() {
|
|||||||
util.PutBytes(bs)
|
util.PutBytes(bs)
|
||||||
} else {
|
} else {
|
||||||
// Pass the packet to the buffer for Conn.Read
|
// Pass the packet to the buffer for Conn.Read
|
||||||
sinfo.recv <- bs
|
select {
|
||||||
|
case <-sinfo.cancel.Finished():
|
||||||
|
util.PutBytes(bs)
|
||||||
|
case sinfo.recv <- bs:
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ch <- callback
|
ch <- callback
|
||||||
|
Loading…
Reference in New Issue
Block a user