commit bafd078984be5f846287107824eca99e6c6c42cc
parent 9c15b24f596dfd7374d8909a254ec2df76366300
Author: Christian Grothoff <christian@grothoff.org>
Date: Mon, 29 Jul 2019 20:03:41 +0200
fix hang reported by Viet on 24.6.2019 on the mailinglist: do not just consider nested epoll, but also already ready connections
Diffstat:
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git 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
@@ -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
@@ -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 */