diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-07-29 20:03:41 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-07-29 20:03:41 +0200 |
commit | bafd078984be5f846287107824eca99e6c6c42cc (patch) | |
tree | 5fb769de723645f08651a4161dfff261f28effe8 | |
parent | 9c15b24f596dfd7374d8909a254ec2df76366300 (diff) | |
download | libmicrohttpd-bafd078984be5f846287107824eca99e6c6c42cc.tar.gz libmicrohttpd-bafd078984be5f846287107824eca99e6c6c42cc.zip |
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-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/include/microhttpd.h | 2 | ||||
-rw-r--r-- | src/microhttpd/daemon.c | 2 |
3 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ | |||
1 | Mon 29 Jul 2019 08:01:50 PM CEST | ||
2 | Fix hanging situation with large transmission over upgraded | ||
3 | (i.e. Web socket) connection with epoll() and HTTPS enabled | ||
4 | (as reported by Viet on the mailinglist). -CG | ||
5 | |||
1 | Thu 25 Jul 2019 02:40:12 PM CEST | 6 | Thu 25 Jul 2019 02:40:12 PM CEST |
2 | Fixing regression introduced in cc5032b85 (bit mask matching | 7 | Fixing regression introduced in cc5032b85 (bit mask matching |
3 | of the header kinds in MHD_lookup_connection_value()), as | 8 | 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; | |||
132 | * Current version of the library. | 132 | * Current version of the library. |
133 | * 0x01093001 = 1.9.30-1. | 133 | * 0x01093001 = 1.9.30-1. |
134 | */ | 134 | */ |
135 | #define MHD_VERSION 0x00096503 | 135 | #define MHD_VERSION 0x00096504 |
136 | 136 | ||
137 | /** | 137 | /** |
138 | * MHD-internal return code for "YES". | 138 | * 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, | |||
4519 | } | 4519 | } |
4520 | 4520 | ||
4521 | #if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT) | 4521 | #if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT) |
4522 | if (run_upgraded) | 4522 | if (run_upgraded || (NULL != daemon->eready_urh_head)) |
4523 | run_epoll_for_upgrade (daemon); | 4523 | run_epoll_for_upgrade (daemon); |
4524 | #endif /* HTTPS_SUPPORT && UPGRADE_SUPPORT */ | 4524 | #endif /* HTTPS_SUPPORT && UPGRADE_SUPPORT */ |
4525 | 4525 | ||