aboutsummaryrefslogtreecommitdiffstats
path: root/uapi_linux.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-05-14 12:46:06 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-05-14 13:05:37 +0200
commit2dfd4e7d8c5f5540690dfbbac50aa6f020b2cbbc (patch)
treee5498c527cd77d7cc4f0bdcac1843b3e8d5d3025 /uapi_linux.go
parentClean more (diff)
downloadwireguard-go-2dfd4e7d8c5f5540690dfbbac50aa6f020b2cbbc.tar.xz
wireguard-go-2dfd4e7d8c5f5540690dfbbac50aa6f020b2cbbc.zip
Cleanup socket file
Diffstat (limited to 'uapi_linux.go')
-rw-r--r--uapi_linux.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/uapi_linux.go b/uapi_linux.go
index 67024e9..45be0f5 100644
--- a/uapi_linux.go
+++ b/uapi_linux.go
@@ -46,8 +46,8 @@ func (l *UAPIListener) Accept() (net.Conn, error) {
func (l *UAPIListener) Close() error {
err1 := unix.Close(l.inotifyFd)
- err2 := l.listener.Close()
- err3 := l.inotifyRWCancel.Cancel()
+ err2 := l.inotifyRWCancel.Cancel()
+ err3 := l.listener.Close()
if err1 != nil {
return err1
}
@@ -58,7 +58,7 @@ func (l *UAPIListener) Close() error {
}
func (l *UAPIListener) Addr() net.Addr {
- return nil
+ return l.listener.Addr()
}
func UAPIListen(name string, file *os.File) (net.Listener, error) {
@@ -70,6 +70,10 @@ func UAPIListen(name string, file *os.File) (net.Listener, error) {
return nil, err
}
+ if unixListener, ok := listener.(*net.UnixListener); ok {
+ unixListener.SetUnlinkOnClose(true)
+ }
+
uapi := &UAPIListener{
listener: listener,
connNew: make(chan net.Conn, 1),