aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/daemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/microhttpd/daemon.c')
-rw-r--r--src/microhttpd/daemon.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index 2d0ab197..006e8d54 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -3568,6 +3568,13 @@ run_epoll_for_upgrade (struct MHD_Daemon *daemon)
3568 struct UpgradeEpollHandle * const ueh = events[i].data.ptr; 3568 struct UpgradeEpollHandle * const ueh = events[i].data.ptr;
3569 struct MHD_UpgradeResponseHandle * const urh = ueh->urh; 3569 struct MHD_UpgradeResponseHandle * const urh = ueh->urh;
3570 3570
3571 /* Each MHD_UpgradeResponseHandle can be processed two times:
3572 * one for TLS data and one for socketpair data.
3573 * If forwarding was finished on first time, second time must
3574 * be skipped as urh must not be used anymore. */
3575 if (MHD_NO != urh->clean_ready)
3576 continue;
3577
3571 /* Update our state based on what is ready according to epoll() */ 3578 /* Update our state based on what is ready according to epoll() */
3572 if (0 != (events[i].events & EPOLLIN)) 3579 if (0 != (events[i].events & EPOLLIN))
3573 ueh->celi |= MHD_EPOLL_STATE_READ_READY; 3580 ueh->celi |= MHD_EPOLL_STATE_READ_READY;