From 2aa6f1bccd0dd8b3b1d832b63156ed20aed0f279 Mon Sep 17 00:00:00 2001
From: Andy Green <andy@warmcat.com>
Date: Fri, 9 Sep 2016 08:31:56 +0800
Subject: [PATCH] adopt_socket_vhost: error path doesn't remove us from timeout
 list

As found by "github user 7"

https://github.com/warmcat/libwebsockets/issues/621
---
 lib/server.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/server.c b/lib/server.c
index a3e608a5..df175dd6 100644
--- a/lib/server.c
+++ b/lib/server.c
@@ -1315,6 +1315,8 @@ lws_adopt_socket_vhost(struct lws_vhost *vh, lws_sockfd_type accept_fd)
 	 */
 	if ((context->vhost_list->protocols[0].callback)(new_wsi,
 	     LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED, NULL, NULL, 0)) {
+		/* force us off the timeout list by hand */
+		lws_set_timeout(new_wsi, NO_PENDING_TIMEOUT, 0);
 		compatible_close(new_wsi->sock);
 		lws_free(new_wsi);
 		return NULL;
-- 
GitLab