From 2dfd4e7d8c5f5540690dfbbac50aa6f020b2cbbc Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 14 May 2018 12:46:06 +0200 Subject: Cleanup socket file --- uapi_linux.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'uapi_linux.go') 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), -- cgit v1.2.3-59-g8ed1b