From 3e2af60b34ea2e813f57d0dd13f9200ccba28eff Mon Sep 17 00:00:00 2001 From: Kezhu Wang Date: Thu, 14 Nov 2013 01:22:03 +0800 Subject: [PATCH] bugfix: close pending socket when write_buffer drain --- skynet-src/socket_server.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/skynet-src/socket_server.c b/skynet-src/socket_server.c index 3503e0d2..5c23f9d3 100644 --- a/skynet-src/socket_server.c +++ b/skynet-src/socket_server.c @@ -347,6 +347,11 @@ send_buffer(struct socket_server *ss, struct socket *s, struct socket_message *r s->tail = NULL; sp_write(ss->event_fd, s->fd, s, false); + if (s->type == SOCKET_TYPE_HALFCLOSE) { + force_close(ss, s, result); + return SOCKET_CLOSE; + } + return -1; }