diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-05 07:54:25 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-05 14:17:48 +0200 |
commit | 5c3d333f10c7238cae9b8ed1aabdb8c8ab6a7ebc (patch) | |
tree | 40662d471602887150a8b5329f59e1754b57139c /tun | |
parent | d8448f8a0298b16cc128bf0e64963852964d2e78 (diff) |
tun: windows: registration of write buffer no longer required
Diffstat (limited to 'tun')
-rw-r--r-- | tun/tun_windows.go | 13 |
1 files changed, 1 insertions, 12 deletions
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 { |