fix some races and GetBytes/PutBytes usage, but this still seems to deadlock somewhere in iperf tests

This commit is contained in:
Arceliar 2019-05-02 17:37:49 -05:00
parent 5f66c4c95c
commit efdaea1b5e
2 changed files with 7 additions and 3 deletions

View file

@ -95,6 +95,7 @@ func (tun *TunAdapter) writer() error {
}
} else {
w, err = tun.iface.Write(b[:n])
util.PutBytes(b)
}
if err != nil {
tun.log.Errorln("TUN/TAP iface write error:", err)
@ -219,9 +220,11 @@ func (tun *TunAdapter) reader() error {
}
// If we have a connection now, try writing to it
if isIn && session != nil {
packet := append(util.GetBytes(), bs[:n]...)
select {
case session.send <- bs[:n]:
case session.send <- packet:
default:
util.PutBytes(packet)
}
}