func (srv *Server) socketListen() os.Error { var la *net.TCPAddr var err os.Error if la, err = net.ResolveTCPAddr("tcp", srv.Addr); err != nil { return err } var l *net.TCPListener if l, err = net.ListenTCP("tcp", la); err != nil { return err } srv.listener = l if srv.listenerFile, err = l.File(); err != nil { return err } if e := syscall.SetNonblock(srv.listenerFile.Fd(), true); e != 0 { return os.Errno(e) } l.SetTimeout(3e9) return nil }