File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33package tun
44
55import (
6+ "errors"
7+ "syscall"
8+
69 "github.com/sagernet/gvisor/pkg/buffer"
710 "github.com/sagernet/gvisor/pkg/tcpip"
811 gHdr "github.com/sagernet/gvisor/pkg/tcpip/header"
@@ -169,7 +172,7 @@ func (m *Mixed) batchLoopDarwin(darwinTUN DarwinTUN) {
169172 for {
170173 buffers , err := darwinTUN .BatchRead ()
171174 if err != nil {
172- if E .IsClosed (err ) {
175+ if E .IsClosed (err ) || errors . Is ( err , syscall . EBADF ) {
173176 return
174177 }
175178 m .logger .Error (E .Cause (err , "batch read packet" ))
Original file line number Diff line number Diff line change @@ -269,7 +269,7 @@ func (s *System) batchLoopDarwin(darwinTUN DarwinTUN) {
269269 for {
270270 buffers , err := darwinTUN .BatchRead ()
271271 if err != nil {
272- if E .IsClosed (err ) {
272+ if E .IsClosed (err ) || errors . Is ( err , syscall . EBADF ) {
273273 return
274274 }
275275 s .logger .Error (E .Cause (err , "batch read packet" ))
You can’t perform that action at this time.
0 commit comments