recon_linux.go
func (irc *Bot) StartUnixListener() {
	unaddr, err := net.ResolveUnixAddr("unix", irc.unixastr)
	if err != nil {
		panic(err)
	}
	list, err := net.ListenUnix("unix", unaddr)
	if err != nil {
		panic(err)
	}

	irc.unixlist = list
	con, err := list.AcceptUnix()
	if err != nil {
		fmt.Println("unix listener error: ", err)
		return
	}
	list.Close()

	fi, err := irc.con.(*net.TCPConn).File()
	if err != nil {
		panic(err)
	}

	err = sendfd.SendFD(con, fi)
	if err != nil {
		panic(err)
	}

	select {
	case <-irc.Incoming:
	default:
		close(irc.Incoming)
	}
	close(irc.outgoing)
}
func (irc *Bot) StartUnixListener() {
	unaddr, err := net.ResolveUnixAddr("unix", irc.unixastr)
	if err != nil {
		panic(err)
	}
	list, err := net.ListenUnix("unix", unaddr)
	if err != nil {
		panic(err)
	}

	irc.unixlist = list
	con, err := list.AcceptUnix()
	if err != nil {
		fmt.Println("unix listener error: ", err)
		return
	}
	list.Close()

	fi, err := irc.con.(*net.TCPConn).File()
	if err != nil {
		panic(err)
	}

	err = sendfd.SendFD(con, fi)
	if err != nil {
		panic(err)
	}

	select {
	case <-irc.Incoming:
	default:
		close(irc.Incoming)
	}
	close(irc.outgoing)
}
func ( irc * Bot ) StartUnixListener ( ) { unaddr , err := net . ResolveUnixAddr ( " " , irc . unixastr ) if err != nil { panic ( err ) } list , err := net . ListenUnix ( " " , unaddr ) if err != nil { panic ( err ) } irc . unixlist = list con , err := list . AcceptUnix ( ) if err != nil { fmt . Println ( " " , err ) return } list . Close ( ) fi , err := irc . con . ( * net . TCPConn ) . File ( ) if err != nil { panic ( err ) } err = sendfd . SendFD ( con , fi ) if err != nil { panic ( err ) } select { case <- irc . Incoming : default : close ( irc . Incoming ) } close ( irc . outgoing ) }
// StartUnixListener starts up a unix domain socket listener for reconnects to
// be sent through
StartUnixListener starts up a unix domain socket listener for reconnects to be sent through