commit 58cb96811cb46ab88ef2cffca87fd45df76f78ae
parent d9b6e400f8c6103fa08532dd33ef4cc714faa994
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Sun, 19 Feb 2017 23:09:20 +0300
MHD_epoll(): call handler depending on read/write ready state instead of loop state.
Diffstat:
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
@@ -3933,11 +3933,9 @@ MHD_epoll (struct MHD_Daemon *daemon,
while (NULL != (pos = prev))
{
prev = pos->prevE;
- /* FIXME: use (0 != pos->epoll_state & MHD_EPOLL_STATE_READ_READY) ? MHD_YES : MHD_NO
- * and (0 != pos->epoll_state & MHD_EPOLL_STATE_WRITE_READY) ? MHD_YES : MHD_NO */
call_handlers (pos,
- MHD_EVENT_LOOP_INFO_READ == pos->event_loop_info,
- MHD_EVENT_LOOP_INFO_WRITE == pos->event_loop_info,
+ 0 != (pos->epoll_state & MHD_EPOLL_STATE_READ_READY),
+ 0 != (pos->epoll_state & MHD_EPOLL_STATE_WRITE_READY),
0 != (pos->epoll_state & MHD_EPOLL_STATE_ERROR));
if (MHD_EPOLL_STATE_IN_EREADY_EDLL ==
(pos->epoll_state & (MHD_EPOLL_STATE_SUSPENDED | MHD_EPOLL_STATE_IN_EREADY_EDLL)))