libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

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:
MChangeLog | 5+++++
Msrc/include/microhttpd.h | 2+-
Msrc/microhttpd/daemon.c | 2+-
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 */