From abcea076411a0d6d6622fabf2b0a49fd2d4b4e6d Mon Sep 17 00:00:00 2001 From: Sergey Lyubka <valenok@gmail.com> Date: Wed, 11 Jun 2014 20:37:35 +0100 Subject: [PATCH] Fix #373 --- mongoose.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mongoose.c b/mongoose.c index 82b27ddba..b75296856 100644 --- a/mongoose.c +++ b/mongoose.c @@ -2712,6 +2712,12 @@ size_t mg_websocket_write(struct mg_connection* conn, int opcode, free(copy); } + // If we send closing frame, schedule a connection to be closed after + // data is drained to the client. + if (opcode == WEBSOCKET_OPCODE_CONNECTION_CLOSE) { + MG_CONN_2_CONN(conn)->ns_conn->flags |= NSF_FINISHED_SENDING_DATA; + } + return MG_CONN_2_CONN(conn)->ns_conn->send_iobuf.len; } -- GitLab