From bafd078984be5f846287107824eca99e6c6c42cc Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 29 Jul 2019 20:03:41 +0200 Subject: fix hang reported by Viet on 24.6.2019 on the mailinglist: do not just consider nested epoll, but also already ready connections --- ChangeLog | 5 +++++ src/include/microhttpd.h | 2 +- src/microhttpd/daemon.c | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c45326df..b4c065c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon 29 Jul 2019 08:01:50 PM CEST + Fix hanging situation with large transmission over upgraded + (i.e. Web socket) connection with epoll() and HTTPS enabled + (as reported by Viet on the mailinglist). -CG + Thu 25 Jul 2019 02:40:12 PM CEST Fixing regression introduced in cc5032b85 (bit mask matching of the header kinds in MHD_lookup_connection_value()), as diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h index 4c05ffac..f141967c 100644 --- a/src/include/microhttpd.h +++ b/src/include/microhttpd.h @@ -132,7 +132,7 @@ typedef intptr_t ssize_t; * Current version of the library. * 0x01093001 = 1.9.30-1. */ -#define MHD_VERSION 0x00096503 +#define MHD_VERSION 0x00096504 /** * MHD-internal return code for "YES". diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 7ce0fbb3..bf01ba9b 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c @@ -4519,7 +4519,7 @@ MHD_epoll (struct MHD_Daemon *daemon, } #if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT) - if (run_upgraded) + if (run_upgraded || (NULL != daemon->eready_urh_head)) run_epoll_for_upgrade (daemon); #endif /* HTTPS_SUPPORT && UPGRADE_SUPPORT */ -- cgit v1.2.3