summaryrefslogtreecommitdiff
path: root/tun/tun_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'tun/tun_darwin.go')
-rw-r--r--tun/tun_darwin.go11
1 files changed, 4 insertions, 7 deletions
diff --git a/tun/tun_darwin.go b/tun/tun_darwin.go
index 7c7f3e2..f513d03 100644
--- a/tun/tun_darwin.go
+++ b/tun/tun_darwin.go
@@ -6,6 +6,7 @@
package tun
import (
+ "errors"
"fmt"
"io/ioutil"
"net"
@@ -31,13 +32,9 @@ type NativeTun struct {
func retryInterfaceByIndex(index int) (iface *net.Interface, err error) {
for i := 0; i < 20; i++ {
iface, err = net.InterfaceByIndex(index)
- if err != nil {
- if opErr, ok := err.(*net.OpError); ok {
- if syscallErr, ok := opErr.Err.(*os.SyscallError); ok && syscallErr.Err == syscall.ENOMEM {
- time.Sleep(time.Duration(i) * time.Second / 3)
- continue
- }
- }
+ if err != nil && errors.Is(err, syscall.ENOMEM) {
+ time.Sleep(time.Duration(i) * time.Second / 3)
+ continue
}
return iface, err
}