mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2025-02-23 06:53:13 +08:00
[Fixed] Add retry to open tun
This commit is contained in:
parent
e92ef587bb
commit
b0fdd8dc47
@ -4,6 +4,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/Dreamacro/clash/adapter/inbound"
|
||||
"github.com/Dreamacro/clash/config"
|
||||
@ -24,7 +25,17 @@ func New(conf config.Tun, tcpIn chan<- C.ConnContext, udpIn chan<- *inbound.Pack
|
||||
|
||||
device, err := dev.OpenTunDevice(tunAddress, autoRoute)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't open tun: %v", err)
|
||||
for i := 1; i < 3; i++ {
|
||||
time.Sleep(time.Second * 1)
|
||||
device, err = dev.OpenTunDevice(tunAddress, autoRoute)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't open tun: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
mtu, err := device.MTU()
|
||||
|
Loading…
Reference in New Issue
Block a user