修改:连接断开后消息推送携程未回收bug
git-svn-id: svn://47.119.165.148/zhub@94 e63fbceb-bcc3-4977-ac22-735b83d8d0f4
This commit is contained in:
@@ -17,17 +17,21 @@ func (g *ZGroup) appendTo(c *ZConn) {
|
||||
c.appendTo(g.conns)
|
||||
go func() { // 每个连接开启一个携程发送数据
|
||||
for {
|
||||
msg, ok := <-g.chMsg
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
select {
|
||||
case msg, ok := <-g.chMsg:
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
err := c.send("message", g.ztopic.topic, msg)
|
||||
if err != nil { // 失败处理
|
||||
g.chMsg <- msg
|
||||
break
|
||||
err := c.send("message", g.ztopic.topic, msg)
|
||||
if err != nil { // 失败处理
|
||||
g.chMsg <- msg
|
||||
return
|
||||
}
|
||||
atomic.AddInt32(&g.offset, 1)
|
||||
case <-c.stoped:
|
||||
return
|
||||
}
|
||||
atomic.AddInt32(&g.offset, 1)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user