diff options
Diffstat (limited to 'tun/tun_openbsd.go')
-rw-r--r-- | tun/tun_openbsd.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tun/tun_openbsd.go b/tun/tun_openbsd.go index ab4c87b..b10c460 100644 --- a/tun/tun_openbsd.go +++ b/tun/tun_openbsd.go @@ -8,9 +8,9 @@ package tun import ( "errors" "fmt" - "golang.zx2c4.com/wireguard/rwcancel" "golang.org/x/net/ipv6" "golang.org/x/sys/unix" + "golang.zx2c4.com/wireguard/rwcancel" "io/ioutil" "net" "os" @@ -167,7 +167,9 @@ func CreateTUNFromFile(file *os.File, mtu int) (TUNDevice, error) { return nil, err } - tun.rwcancel, err = rwcancel.NewRWCancel(int(file.Fd())) + tun.operateOnFd(func(fd uintptr) { + tun.rwcancel, err = rwcancel.NewRWCancel(int(fd)) + }) if err != nil { tun.tunFile.Close() return nil, err |