Chore: adjust the signal
This commit is contained in:
parent
ac4cde1411
commit
f4312cfa5a
2 changed files with 7 additions and 6 deletions
|
@ -3,9 +3,10 @@
|
|||
package tun
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/Dreamacro/clash/common/pool"
|
||||
"github.com/Dreamacro/clash/listener/tun/device"
|
||||
|
@ -53,9 +54,7 @@ func Open(name string, mtu uint32) (_ device.Device, err error) {
|
|||
nt, err := tun.CreateTUN(t.name, forcedMTU) // forcedMTU do not work on wintun, need to be setting by other way
|
||||
|
||||
// retry if abnormal exit on Windows at last time
|
||||
if err != nil && runtime.GOOS == "windows" &&
|
||||
strings.HasSuffix(err.Error(), "file already exists.") {
|
||||
|
||||
if err != nil && runtime.GOOS == "windows" && errors.Is(err, os.ErrExist) {
|
||||
nt, err = tun.CreateTUN(t.name, forcedMTU)
|
||||
}
|
||||
|
||||
|
@ -80,7 +79,9 @@ func (t *TUN) Read(packet []byte) (int, error) {
|
|||
}
|
||||
|
||||
buff := pool.Get(t.offset + cap(packet))
|
||||
defer pool.Put(buff)
|
||||
defer func() {
|
||||
_ = pool.Put(buff)
|
||||
}()
|
||||
|
||||
n, err := t.nt.Read(buff, t.offset)
|
||||
if err != nil {
|
||||
|
|
2
main.go
2
main.go
|
@ -101,7 +101,7 @@ func main() {
|
|||
}
|
||||
|
||||
sigCh := make(chan os.Signal, 1)
|
||||
signal.Notify(sigCh, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM)
|
||||
signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM)
|
||||
<-sigCh
|
||||
|
||||
// cleanup
|
||||
|
|
Loading…
Reference in a new issue