tun: windows: Make writing persistent too
Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
parent
9748a52073
commit
a80db5e65e
@ -284,24 +284,26 @@ func (tun *NativeTun) Flush() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get TUN data pipe.
|
for {
|
||||||
_, file, err := tun.getTUN()
|
// Get TUN data pipe.
|
||||||
if err != nil {
|
_, file, err := tun.getTUN()
|
||||||
return err
|
if err != nil {
|
||||||
}
|
return err
|
||||||
|
|
||||||
// Flush write buffer.
|
|
||||||
_, err = file.Write(tun.wrBuff.data[:tun.wrBuff.offset])
|
|
||||||
tun.wrBuff.packetNum = 0
|
|
||||||
tun.wrBuff.offset = 0
|
|
||||||
if err != nil {
|
|
||||||
if tun.shouldReopenHandle(err) {
|
|
||||||
tun.closeTUN()
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
return err
|
|
||||||
|
// Flush write buffer.
|
||||||
|
_, err = file.Write(tun.wrBuff.data[:tun.wrBuff.offset])
|
||||||
|
tun.wrBuff.packetNum = 0
|
||||||
|
tun.wrBuff.offset = 0
|
||||||
|
if err != nil {
|
||||||
|
if tun.shouldReopenHandle(err) {
|
||||||
|
tun.closeTUN()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tun *NativeTun) putTunPacket(buff []byte) error {
|
func (tun *NativeTun) putTunPacket(buff []byte) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user