浏览代码

don't close replies twice

tags/v0.1.0
Jeremy Latt 10 年前
父节点
当前提交
7cef494d28
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7
    2
      irc/client.go

+ 7
- 2
irc/client.go 查看文件

@@ -128,10 +128,14 @@ func (client *Client) writeReplies() {
128 128
 		}
129 129
 
130 130
 		if client.socket.Write(reply.Format(client)) != nil {
131
-			close(client.replies)
131
+			break
132 132
 		}
133 133
 	}
134
-	client.replies = nil
134
+
135
+	if client.replies != nil {
136
+		close(client.replies)
137
+		client.replies = nil
138
+	}
135 139
 }
136 140
 
137 141
 func (client *Client) Destroy() {
@@ -147,6 +151,7 @@ func (client *Client) Destroy() {
147 151
 
148 152
 	if client.replies != nil {
149 153
 		close(client.replies)
154
+		client.replies = nil
150 155
 	}
151 156
 
152 157
 	client.socket.Close()

正在加载...
取消
保存