summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-07-29 20:03:41 +0200
committerChristian Grothoff <christian@grothoff.org>2019-07-29 20:03:41 +0200
commitbafd078984be5f846287107824eca99e6c6c42cc (patch)
tree5fb769de723645f08651a4161dfff261f28effe8
parent9c15b24f596dfd7374d8909a254ec2df76366300 (diff)
fix hang reported by Viet on 24.6.2019 on the mailinglist: do not just consider nested epoll, but also already ready connections
-rw-r--r--ChangeLog5
-rw-r--r--src/include/microhttpd.h2
-rw-r--r--src/microhttpd/daemon.c2
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 */