mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2025-02-23 11:23:15 +08:00
[Fixed] Add retry to open tun
This commit is contained in:
parent
e92ef587bb
commit
b0fdd8dc47
@ -4,6 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/Dreamacro/clash/adapter/inbound"
|
"github.com/Dreamacro/clash/adapter/inbound"
|
||||||
"github.com/Dreamacro/clash/config"
|
"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)
|
device, err := dev.OpenTunDevice(tunAddress, autoRoute)
|
||||||
if err != nil {
|
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()
|
mtu, err := device.MTU()
|
||||||
|
Loading…
Reference in New Issue
Block a user