From 51fd63213e1eb94233eed83fe04d74bca1a13a9f Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Mon, 10 Aug 2020 16:35:55 +0800 Subject: [PATCH] bugfix: switch reading status --- skynet-src/socket_server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skynet-src/socket_server.c b/skynet-src/socket_server.c index b6e9b4f4..645c9b2d 100644 --- a/skynet-src/socket_server.c +++ b/skynet-src/socket_server.c @@ -544,7 +544,7 @@ new_fd(struct socket_server *ss, int id, int fd, int protocol, uintptr_t opaque, s->id = id; s->fd = fd; - s->reading = READING_PAUSE; + s->reading = add ? READING_RESUME : READING_PAUSE; s->sending = ID_TAG16(id) << 16 | 0; s->protocol = protocol; s->p.size = MIN_READ_BUFFER; @@ -1068,11 +1068,11 @@ resume_socket(struct socket_server *ss, struct request_resumepause *request, str socket_lock_init(s, &l); if (s->reading == READING_PAUSE) { if (sp_add(ss->event_fd, s->fd, s)) { - s->reading = READING_RESUME; force_close(ss, s, &l, result); result->data = strerror(errno); return SOCKET_ERR; } + s->reading = READING_RESUME; } if (s->type == SOCKET_TYPE_PACCEPT || s->type == SOCKET_TYPE_PLISTEN) { s->type = (s->type == SOCKET_TYPE_PACCEPT) ? SOCKET_TYPE_CONNECTED : SOCKET_TYPE_LISTEN;