Only call stillAlive if channel read succeeds

This commit is contained in:
Neil Alexander 2019-07-17 12:07:16 +01:00
parent 747b50bb7c
commit 7d1c03d2ac
No known key found for this signature in database
GPG Key ID: A02A2019A2BB0944

View File

@ -86,7 +86,7 @@ func (s *tunConn) reader() error {
}() }()
for { for {
select { select {
case r := <-read: case r, ok := <-read:
if r && n > 0 { if r && n > 0 {
bs := append(util.GetBytes(), b[:n]...) bs := append(util.GetBytes(), b[:n]...)
select { select {
@ -95,7 +95,9 @@ func (s *tunConn) reader() error {
util.PutBytes(bs) util.PutBytes(bs)
} }
} }
if ok {
s.stillAlive() // TODO? Only stay alive if we read >0 bytes? s.stillAlive() // TODO? Only stay alive if we read >0 bytes?
}
case <-s.stop: case <-s.stop:
return nil return nil
} }