summaryrefslogtreecommitdiffhomepage
path: root/tun_linux.go
diff options
context:
space:
mode:
Diffstat (limited to 'tun_linux.go')
-rw-r--r--tun_linux.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/tun_linux.go b/tun_linux.go
index 2782260..f9a27d6 100644
--- a/tun_linux.go
+++ b/tun_linux.go
@@ -89,7 +89,10 @@ func createNetlinkSocket() (int, error) {
}
func (tun *NativeTun) RoutineNetlinkListener() {
- defer unix.Close(tun.netlinkSock)
+ defer func() {
+ unix.Close(tun.netlinkSock)
+ close(tun.events)
+ }()
for msg := make([]byte, 1<<16); ; {
@@ -357,7 +360,6 @@ func (tun *NativeTun) Close() error {
}
err2 := tun.fd.Close()
err3 := tun.fdCancel.Cancel()
- close(tun.events)
if err1 != nil {
return err1