From 5c3d333f10c7238cae9b8ed1aabdb8c8ab6a7ebc Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 5 Jul 2019 07:54:25 +0200 Subject: tun: windows: registration of write buffer no longer required --- tun/tun_windows.go | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'tun/tun_windows.go') diff --git a/tun/tun_windows.go b/tun/tun_windows.go index f0acc09..4ae5cf0 100644 --- a/tun/tun_windows.go +++ b/tun/tun_windows.go @@ -11,11 +11,11 @@ import ( "io" "os" "sync" - "sync/atomic" "time" "unsafe" "golang.org/x/sys/windows" + "golang.zx2c4.com/wireguard/tun/wintun" ) @@ -42,7 +42,6 @@ type NativeTun struct { wt *wintun.Wintun tunFileRead *os.File tunFileWrite *os.File - haveRegisteredWriteBuffer int32 tunLock sync.Mutex close bool rdBuff *exchgBufRead @@ -142,7 +141,6 @@ func (tun *NativeTun) openTUN() error { } return err } - atomic.StoreInt32(&tun.haveRegisteredWriteBuffer, 0) } return nil } @@ -321,15 +319,6 @@ func (tun *NativeTun) Flush() error { return err } - if atomic.CompareAndSwapInt32(&tun.haveRegisteredWriteBuffer, 0, 1) { - firstSize := (*uint32)(unsafe.Pointer(&tun.wrBuff.data[0])) - saved := *firstSize - *firstSize = 0 - // Set the maximum buffer length with an invalid write. - tun.tunFileWrite.Write(tun.wrBuff.data[:]) - *firstSize = saved - } - for { _, err = file.Write(tun.wrBuff.data[:tun.wrBuff.offset]) if err != nil { -- cgit v1.2.3-59-g8ed1b