X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcypherpunks.ru%2Fgovpn%2Ftap_android.go;fp=src%2Fcypherpunks.ru%2Fgovpn%2Ftap_android.go;h=1530d2e2cae2047e5f6fa011bfe72b2b0c5f61b4;hb=ff2ecfd11acbf58a2e1a5885ef6859f811ff2c77;hp=15c5940f7648819eeffb8e1c6bdaee1123e182b2;hpb=e7696b430e885f94c81abf3a635982aca23af2c2;p=govpn.git diff --git a/src/cypherpunks.ru/govpn/tap_android.go b/src/cypherpunks.ru/govpn/tap_android.go index 15c5940..1530d2e 100644 --- a/src/cypherpunks.ru/govpn/tap_android.go +++ b/src/cypherpunks.ru/govpn/tap_android.go @@ -53,6 +53,10 @@ func TapListenFileDescriptor(fd uintptr, ifaceName string, mtu int) *TAP { bufZ = !bufZ n, err = tap.dev.Read(buf) if err != nil { + if tap.closed { + return + } + e, ok := err.(*os.PathError) if ok && e.Err == syscall.EAGAIN { time.Sleep(time.Millisecond * 20)