After andrejs.hanins@ubnt.com
Signed-off-by: Andy Green <andy.green@linaro.org>
3) MINOR An error about hdr struct in _lws_ws_related is corrected, it's not
known to affect anything until after it was fixed
+4) MINOR During the close shutdown wait state introduced at v1.7, if something
+requests callback on writeable for the socket it will busywait until the
+socket closes
+
Changes
-------
n = shutdown(wsi->sock, SHUT_WR);
if (n)
lwsl_debug("closing: shutdown ret %d\n", LWS_ERRNO);
- wsi->state = LWSS_SHUTDOWN;
+
lws_change_pollfd(wsi, LWS_POLLOUT, LWS_POLLIN);
+ wsi->state = LWSS_SHUTDOWN;
lws_set_timeout(wsi, PENDING_TIMEOUT_SHUTDOWN_FLUSH,
context->timeout_secs);
return;
#ifdef LWS_USE_HTTP2
struct lws *network_wsi, *wsi2;
int already;
+#endif
+
+ if (wsi->state == LWSS_SHUTDOWN)
+ return 0;
+#ifdef LWS_USE_HTTP2
lwsl_info("%s: %p\n", __func__, wsi);
if (wsi->mode != LWSCM_HTTP2_SERVING)