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