client callback closed if not upgraded also for server connection
authorAndrejs Hanins <ahanins@gmail.com>
Wed, 24 Feb 2016 11:18:46 +0000 (19:18 +0800)
committerAndy Green <andy.green@linaro.org>
Wed, 24 Feb 2016 11:18:46 +0000 (19:18 +0800)
https://github.com/warmcat/libwebsockets/issues/437
https://github.com/warmcat/libwebsockets/pull/440

lib/libwebsockets.c

index 5217265..26d8868 100644 (file)
@@ -372,7 +372,9 @@ just_kill_connection:
            ((wsi->state_pre_close == LWSS_ESTABLISHED) ||
            (wsi->state_pre_close == LWSS_RETURNED_CLOSE_ALREADY) ||
            (wsi->state_pre_close == LWSS_AWAITING_CLOSE_ACK) ||
-           (wsi->state_pre_close == LWSS_FLUSHING_STORED_SEND_BEFORE_CLOSE))) {
+           (wsi->state_pre_close == LWSS_FLUSHING_STORED_SEND_BEFORE_CLOSE) ||
+           (wsi->mode == LWSCM_WS_CLIENT && wsi->state_pre_close == LWSS_HTTP) ||
+           (wsi->mode == LWSCM_WS_SERVING && wsi->state_pre_close == LWSS_HTTP))) {
                lwsl_debug("calling back CLOSED\n");
                wsi->protocol->callback(wsi, LWS_CALLBACK_CLOSED,
                                        wsi->user_space, NULL, 0);