mirror of
https://github.com/slackhq/nebula.git
synced 2025-12-06 02:30:57 -08:00
Fix a hang when shutting down Android (#772)
This commit is contained in:
parent
9af242dc47
commit
85f5849d0b
1 changed files with 3 additions and 1 deletions
|
|
@ -28,11 +28,13 @@ func newTunFromFd(l *logrus.Logger, deviceFd int, cidr *net.IPNet, _ int, routes
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// XXX Android returns an fd in non-blocking mode which is necessary for shutdown to work properly.
|
||||||
|
// Be sure not to call file.Fd() as it will set the fd to blocking mode.
|
||||||
file := os.NewFile(uintptr(deviceFd), "/dev/net/tun")
|
file := os.NewFile(uintptr(deviceFd), "/dev/net/tun")
|
||||||
|
|
||||||
return &tun{
|
return &tun{
|
||||||
ReadWriteCloser: file,
|
ReadWriteCloser: file,
|
||||||
fd: int(file.Fd()),
|
fd: deviceFd,
|
||||||
cidr: cidr,
|
cidr: cidr,
|
||||||
l: l,
|
l: l,
|
||||||
routeTree: routeTree,
|
routeTree: routeTree,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue