From 9dbfe0779854e33e8b7c4e1297acca6b54ad65e1 Mon Sep 17 00:00:00 2001
From: Andrejs Hanins <ahanins@gmail.com>
Date: Wed, 24 Feb 2016 12:54:37 +0200
Subject: [PATCH] client callback closed if not upgraded also for server
 connection

https://github.com/warmcat/libwebsockets/issues/437
https://github.com/warmcat/libwebsockets/pull/440
---
 lib/libwebsockets.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index 5217265e..26d8868e 100644
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -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);
-- 
GitLab