}
func (l *UAPIListener) Addr() net.Addr {
- return nil
+ return l.listener.Addr()
}
func UAPIListen(name string, file *os.File) (net.Listener, error) {
connErr: make(chan error, 1),
}
+ if unixListener, ok := listener.(*net.UnixListener); ok {
+ unixListener.SetUnlinkOnClose(true)
+ }
+
socketPath := path.Join(
socketDirectory,
fmt.Sprintf(socketName, name),
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
}
}
func (l *UAPIListener) Addr() net.Addr {
- return nil
+ return l.listener.Addr()
}
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),