From 2f77855ec14536cc62382652959c01d8cc58ca19 Mon Sep 17 00:00:00 2001 From: Sergey Lyubka Date: Tue, 5 Apr 2022 14:45:39 +0100 Subject: [PATCH] Handle #1502 - send CLOSE when CLOSE is received --- mongoose.c | 3 ++- src/ws.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mongoose.c b/mongoose.c index c9ea580b..f947205b 100644 --- a/mongoose.c +++ b/mongoose.c @@ -4996,7 +4996,8 @@ static void mg_ws_cb(struct mg_connection *c, int ev, void *ev_data, case WEBSOCKET_OP_CLOSE: MG_DEBUG(("%lu Got WS CLOSE", c->id)); mg_call(c, MG_EV_WS_CTL, &m); - c->is_closing = 1; + mg_ws_send(c, "", 0, WEBSOCKET_OP_CLOSE); + c->is_draining = 1; break; default: // Per RFC6455, close conn when an unknown op is recvd diff --git a/src/ws.c b/src/ws.c index 8403a006..fed44aa0 100644 --- a/src/ws.c +++ b/src/ws.c @@ -174,7 +174,8 @@ static void mg_ws_cb(struct mg_connection *c, int ev, void *ev_data, case WEBSOCKET_OP_CLOSE: MG_DEBUG(("%lu Got WS CLOSE", c->id)); mg_call(c, MG_EV_WS_CTL, &m); - c->is_closing = 1; + mg_ws_send(c, "", 0, WEBSOCKET_OP_CLOSE); + c->is_draining = 1; break; default: // Per RFC6455, close conn when an unknown op is recvd