当前位置: 首页>>代码示例>>Golang>>正文


Golang UnixListener.Close方法代码示例

本文整理汇总了Golang中net.UnixListener.Close方法的典型用法代码示例。如果您正苦于以下问题:Golang UnixListener.Close方法的具体用法?Golang UnixListener.Close怎么用?Golang UnixListener.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.UnixListener的用法示例。


在下文中一共展示了UnixListener.Close方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Accept

func (us *UnixSock) Accept(l *net.UnixListener) {
	// Why doesn't this get called on ctrl + c
	defer l.Close()

	for {
		fd, err := l.Accept()
		if err != nil {
			break
		}
		us.processBuffer(fd)
	}
}
开发者ID:pquerna,项目名称:streamplay,代码行数:12,代码来源:unixsock.go

示例2: listen

func listen(sock *net.UnixListener, logChan chan []byte) {
	defer sock.Close()
	defer wg.Done()
	// Timeout after 2 seconds
	sock.SetDeadline(time.Now().Add((2 * time.Second)))
	for run {
		client, err := sock.Accept()
		if err != nil {
			ne, ok := err.(net.Error)
			if !ok || !ne.Temporary() {
				// Non-temporary (fatal) error
				log.Printf("Error accepting client:\n%v", err)
				break
			}
		} else {
			wg.Add(1)
			go handle(client, logChan)
		}
	}
}
开发者ID:schmichael,项目名称:gologd,代码行数:20,代码来源:gologd.go

示例3: Run

// Run the server's accept loop, waiting for connections from l.
// Correct shutdown procedure is:
// set slots to a number such that no new processes will run
// wait for all running processes to finish
// set shittingDown to true
// close the listening socket
func Run(v *viper.Viper, l *net.UnixListener) {
	i := newInstance(v)
	i.listener = l
	for {
		c, err := l.AcceptUnix()
		i.m.Lock()
		sdc := i.shutdownComplete
		i.m.Unlock()
		if sdc {
			glog.Infoln("Shutdown complete. closing listener.")
			if c != nil {
				c.Close()
			}
			l.Close()
			return
		} else if err != nil {
			glog.Errorln("Accept() failed on unix socket:", err)
			return
		}
		go i.connectionHandler(c)
	}
}
开发者ID:akramer,项目名称:lateral,代码行数:28,代码来源:server.go


注:本文中的net.UnixListener.Close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。