diff options
Diffstat (limited to 'src/microhttpd/daemon.c')
-rw-r--r-- | src/microhttpd/daemon.c | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index d813ca1b..19cd9a7c 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -664,7 +664,7 @@ MHD_get_fdset2 (struct MHD_Daemon *daemon, | |||
664 | || (0 != (daemon->options & MHD_USE_POLL))) | 664 | || (0 != (daemon->options & MHD_USE_POLL))) |
665 | return MHD_NO; | 665 | return MHD_NO; |
666 | #ifdef EPOLL_SUPPORT | 666 | #ifdef EPOLL_SUPPORT |
667 | if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 667 | if (0 != (daemon->options & MHD_USE_EPOLL)) |
668 | { | 668 | { |
669 | /* we're in epoll mode, use the epoll FD as a stand-in for | 669 | /* we're in epoll mode, use the epoll FD as a stand-in for |
670 | the entire event set */ | 670 | the entire event set */ |
@@ -1240,7 +1240,7 @@ internal_add_connection (struct MHD_Daemon *daemon, | |||
1240 | } | 1240 | } |
1241 | 1241 | ||
1242 | if ( (!MHD_SCKT_FD_FITS_FDSET_(client_socket, NULL)) && | 1242 | if ( (!MHD_SCKT_FD_FITS_FDSET_(client_socket, NULL)) && |
1243 | (0 == (daemon->options & (MHD_USE_POLL | MHD_USE_EPOLL_LINUX_ONLY))) ) | 1243 | (0 == (daemon->options & (MHD_USE_POLL | MHD_USE_EPOLL))) ) |
1244 | { | 1244 | { |
1245 | #ifdef HAVE_MESSAGES | 1245 | #ifdef HAVE_MESSAGES |
1246 | MHD_DLOG (daemon, | 1246 | MHD_DLOG (daemon, |
@@ -1486,7 +1486,7 @@ internal_add_connection (struct MHD_Daemon *daemon, | |||
1486 | #endif | 1486 | #endif |
1487 | } | 1487 | } |
1488 | #ifdef EPOLL_SUPPORT | 1488 | #ifdef EPOLL_SUPPORT |
1489 | if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 1489 | if (0 != (daemon->options & MHD_USE_EPOLL)) |
1490 | { | 1490 | { |
1491 | if (0 == (daemon->options & MHD_USE_EPOLL_TURBO)) | 1491 | if (0 == (daemon->options & MHD_USE_EPOLL_TURBO)) |
1492 | { | 1492 | { |
@@ -1611,7 +1611,7 @@ MHD_suspend_connection (struct MHD_Connection *connection) | |||
1611 | daemon->suspended_connections_tail, | 1611 | daemon->suspended_connections_tail, |
1612 | connection); | 1612 | connection); |
1613 | #ifdef EPOLL_SUPPORT | 1613 | #ifdef EPOLL_SUPPORT |
1614 | if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 1614 | if (0 != (daemon->options & MHD_USE_EPOLL)) |
1615 | { | 1615 | { |
1616 | if (0 != (connection->epoll_state & MHD_EPOLL_STATE_IN_EREADY_EDLL)) | 1616 | if (0 != (connection->epoll_state & MHD_EPOLL_STATE_IN_EREADY_EDLL)) |
1617 | { | 1617 | { |
@@ -1729,7 +1729,7 @@ resume_suspended_connections (struct MHD_Daemon *daemon) | |||
1729 | pos); | 1729 | pos); |
1730 | } | 1730 | } |
1731 | #ifdef EPOLL_SUPPORT | 1731 | #ifdef EPOLL_SUPPORT |
1732 | if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 1732 | if (0 != (daemon->options & MHD_USE_EPOLL)) |
1733 | { | 1733 | { |
1734 | if (0 != (pos->epoll_state & MHD_EPOLL_STATE_IN_EREADY_EDLL)) | 1734 | if (0 != (pos->epoll_state & MHD_EPOLL_STATE_IN_EREADY_EDLL)) |
1735 | MHD_PANIC ("Resumed connection was already in EREADY set\n"); | 1735 | MHD_PANIC ("Resumed connection was already in EREADY set\n"); |
@@ -1971,7 +1971,7 @@ MHD_cleanup_connections (struct MHD_Daemon *daemon) | |||
1971 | MHD_CONNECTION_NOTIFY_CLOSED); | 1971 | MHD_CONNECTION_NOTIFY_CLOSED); |
1972 | MHD_ip_limit_del (daemon, pos->addr, pos->addr_len); | 1972 | MHD_ip_limit_del (daemon, pos->addr, pos->addr_len); |
1973 | #ifdef EPOLL_SUPPORT | 1973 | #ifdef EPOLL_SUPPORT |
1974 | if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 1974 | if (0 != (daemon->options & MHD_USE_EPOLL)) |
1975 | { | 1975 | { |
1976 | if (0 != (pos->epoll_state & MHD_EPOLL_STATE_IN_EREADY_EDLL)) | 1976 | if (0 != (pos->epoll_state & MHD_EPOLL_STATE_IN_EREADY_EDLL)) |
1977 | { | 1977 | { |
@@ -2138,7 +2138,7 @@ MHD_run_from_select (struct MHD_Daemon *daemon, | |||
2138 | MHD_socket ds; | 2138 | MHD_socket ds; |
2139 | struct MHD_Connection *pos; | 2139 | struct MHD_Connection *pos; |
2140 | struct MHD_Connection *next; | 2140 | struct MHD_Connection *next; |
2141 | unsigned int mask = MHD_USE_SUSPEND_RESUME | MHD_USE_EPOLL_INTERNALLY_LINUX_ONLY | | 2141 | unsigned int mask = MHD_USE_SUSPEND_RESUME | MHD_USE_EPOLL_INTERNALLY | |
2142 | MHD_USE_SELECT_INTERNALLY | MHD_USE_POLL_INTERNALLY | MHD_USE_THREAD_PER_CONNECTION; | 2142 | MHD_USE_SELECT_INTERNALLY | MHD_USE_POLL_INTERNALLY | MHD_USE_THREAD_PER_CONNECTION; |
2143 | 2143 | ||
2144 | /* drain signaling pipe to avoid spinning select */ | 2144 | /* drain signaling pipe to avoid spinning select */ |
@@ -2153,7 +2153,7 @@ MHD_run_from_select (struct MHD_Daemon *daemon, | |||
2153 | resume_suspended_connections (daemon); | 2153 | resume_suspended_connections (daemon); |
2154 | 2154 | ||
2155 | #ifdef EPOLL_SUPPORT | 2155 | #ifdef EPOLL_SUPPORT |
2156 | if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 2156 | if (0 != (daemon->options & MHD_USE_EPOLL)) |
2157 | { | 2157 | { |
2158 | /* we're in epoll mode, the epoll FD stands for | 2158 | /* we're in epoll mode, the epoll FD stands for |
2159 | the entire event set! */ | 2159 | the entire event set! */ |
@@ -2834,7 +2834,7 @@ MHD_run (struct MHD_Daemon *daemon) | |||
2834 | MHD_cleanup_connections (daemon); | 2834 | MHD_cleanup_connections (daemon); |
2835 | } | 2835 | } |
2836 | #ifdef EPOLL_SUPPORT | 2836 | #ifdef EPOLL_SUPPORT |
2837 | else if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 2837 | else if (0 != (daemon->options & MHD_USE_EPOLL)) |
2838 | { | 2838 | { |
2839 | MHD_epoll (daemon, MHD_NO); | 2839 | MHD_epoll (daemon, MHD_NO); |
2840 | MHD_cleanup_connections (daemon); | 2840 | MHD_cleanup_connections (daemon); |
@@ -2866,7 +2866,7 @@ MHD_select_thread (void *cls) | |||
2866 | if (0 != (daemon->options & MHD_USE_POLL)) | 2866 | if (0 != (daemon->options & MHD_USE_POLL)) |
2867 | MHD_poll (daemon, MHD_YES); | 2867 | MHD_poll (daemon, MHD_YES); |
2868 | #ifdef EPOLL_SUPPORT | 2868 | #ifdef EPOLL_SUPPORT |
2869 | else if (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) | 2869 | else if (0 != (daemon->options & MHD_USE_EPOLL)) |
2870 | MHD_epoll (daemon, MHD_YES); | 2870 | MHD_epoll (daemon, MHD_YES); |
2871 | #endif | 2871 | #endif |
2872 | else | 2872 | else |
@@ -2973,7 +2973,7 @@ MHD_quiesce_daemon (struct MHD_Daemon *daemon) | |||
2973 | { | 2973 | { |
2974 | daemon->worker_pool[i].socket_fd = MHD_INVALID_SOCKET; | 2974 | daemon->worker_pool[i].socket_fd = MHD_INVALID_SOCKET; |
2975 | #ifdef EPOLL_SUPPORT | 2975 | #ifdef EPOLL_SUPPORT |
2976 | if ( (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) && | 2976 | if ( (0 != (daemon->options & MHD_USE_EPOLL)) && |
2977 | (-1 != daemon->worker_pool[i].epoll_fd) && | 2977 | (-1 != daemon->worker_pool[i].epoll_fd) && |
2978 | (MHD_YES == daemon->worker_pool[i].listen_socket_in_epoll) ) | 2978 | (MHD_YES == daemon->worker_pool[i].listen_socket_in_epoll) ) |
2979 | { | 2979 | { |
@@ -2994,7 +2994,7 @@ MHD_quiesce_daemon (struct MHD_Daemon *daemon) | |||
2994 | } | 2994 | } |
2995 | daemon->socket_fd = MHD_INVALID_SOCKET; | 2995 | daemon->socket_fd = MHD_INVALID_SOCKET; |
2996 | #ifdef EPOLL_SUPPORT | 2996 | #ifdef EPOLL_SUPPORT |
2997 | if ( (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) && | 2997 | if ( (0 != (daemon->options & MHD_USE_EPOLL)) && |
2998 | (-1 != daemon->epoll_fd) && | 2998 | (-1 != daemon->epoll_fd) && |
2999 | (MHD_YES == daemon->listen_socket_in_epoll) ) | 2999 | (MHD_YES == daemon->listen_socket_in_epoll) ) |
3000 | { | 3000 | { |
@@ -3628,7 +3628,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
3628 | #endif | 3628 | #endif |
3629 | } | 3629 | } |
3630 | } | 3630 | } |
3631 | if ( (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL_LINUX_ONLY))) && | 3631 | if ( (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL))) && |
3632 | (1 == use_pipe) && | 3632 | (1 == use_pipe) && |
3633 | (!MHD_SCKT_FD_FITS_FDSET_(daemon->wpipe[0], NULL)) ) | 3633 | (!MHD_SCKT_FD_FITS_FDSET_(daemon->wpipe[0], NULL)) ) |
3634 | { | 3634 | { |
@@ -3974,7 +3974,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
3974 | "Failed to set nonblocking mode on listening socket: %s\n", | 3974 | "Failed to set nonblocking mode on listening socket: %s\n", |
3975 | MHD_socket_last_strerr_()); | 3975 | MHD_socket_last_strerr_()); |
3976 | #endif | 3976 | #endif |
3977 | if (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY) || | 3977 | if (0 != (flags & MHD_USE_EPOLL) || |
3978 | daemon->worker_pool_size > 0) | 3978 | daemon->worker_pool_size > 0) |
3979 | { | 3979 | { |
3980 | /* Accept must be non-blocking. Multiple children may wake up | 3980 | /* Accept must be non-blocking. Multiple children may wake up |
@@ -3986,7 +3986,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
3986 | } | 3986 | } |
3987 | } | 3987 | } |
3988 | if ( (!MHD_SCKT_FD_FITS_FDSET_(socket_fd, NULL)) && | 3988 | if ( (!MHD_SCKT_FD_FITS_FDSET_(socket_fd, NULL)) && |
3989 | (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL_LINUX_ONLY)) ) ) | 3989 | (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL)) ) ) |
3990 | { | 3990 | { |
3991 | #ifdef HAVE_MESSAGES | 3991 | #ifdef HAVE_MESSAGES |
3992 | MHD_DLOG (daemon, | 3992 | MHD_DLOG (daemon, |
@@ -4000,7 +4000,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
4000 | } | 4000 | } |
4001 | 4001 | ||
4002 | #ifdef EPOLL_SUPPORT | 4002 | #ifdef EPOLL_SUPPORT |
4003 | if ( (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY)) && | 4003 | if ( (0 != (flags & MHD_USE_EPOLL)) && |
4004 | (0 == daemon->worker_pool_size) && | 4004 | (0 == daemon->worker_pool_size) && |
4005 | (0 == (daemon->options & MHD_USE_NO_LISTEN_SOCKET)) ) | 4005 | (0 == (daemon->options & MHD_USE_NO_LISTEN_SOCKET)) ) |
4006 | { | 4006 | { |
@@ -4008,7 +4008,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
4008 | { | 4008 | { |
4009 | #ifdef HAVE_MESSAGES | 4009 | #ifdef HAVE_MESSAGES |
4010 | MHD_DLOG (daemon, | 4010 | MHD_DLOG (daemon, |
4011 | "Combining MHD_USE_THREAD_PER_CONNECTION and MHD_USE_EPOLL_LINUX_ONLY is not supported.\n"); | 4011 | "Combining MHD_USE_THREAD_PER_CONNECTION and MHD_USE_EPOLL is not supported.\n"); |
4012 | #endif | 4012 | #endif |
4013 | goto free_and_fail; | 4013 | goto free_and_fail; |
4014 | } | 4014 | } |
@@ -4016,7 +4016,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
4016 | goto free_and_fail; | 4016 | goto free_and_fail; |
4017 | } | 4017 | } |
4018 | #else | 4018 | #else |
4019 | if (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY)) | 4019 | if (0 != (flags & MHD_USE_EPOLL)) |
4020 | { | 4020 | { |
4021 | #ifdef HAVE_MESSAGES | 4021 | #ifdef HAVE_MESSAGES |
4022 | MHD_DLOG (daemon, | 4022 | MHD_DLOG (daemon, |
@@ -4152,7 +4152,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
4152 | #endif | 4152 | #endif |
4153 | } | 4153 | } |
4154 | } | 4154 | } |
4155 | if ( (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL_LINUX_ONLY))) && | 4155 | if ( (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL))) && |
4156 | (!MHD_SCKT_FD_FITS_FDSET_(d->wpipe[0], NULL)) ) | 4156 | (!MHD_SCKT_FD_FITS_FDSET_(d->wpipe[0], NULL)) ) |
4157 | { | 4157 | { |
4158 | #ifdef HAVE_MESSAGES | 4158 | #ifdef HAVE_MESSAGES |
@@ -4173,7 +4173,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
4173 | if (i < leftover_conns) | 4173 | if (i < leftover_conns) |
4174 | ++d->connection_limit; | 4174 | ++d->connection_limit; |
4175 | #ifdef EPOLL_SUPPORT | 4175 | #ifdef EPOLL_SUPPORT |
4176 | if ( (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) && | 4176 | if ( (0 != (daemon->options & MHD_USE_EPOLL)) && |
4177 | (MHD_YES != setup_epoll_to_listen (d)) ) | 4177 | (MHD_YES != setup_epoll_to_listen (d)) ) |
4178 | goto thread_failed; | 4178 | goto thread_failed; |
4179 | #endif | 4179 | #endif |
@@ -4418,7 +4418,7 @@ MHD_stop_daemon (struct MHD_Daemon *daemon) | |||
4418 | daemon->worker_pool[i].shutdown = MHD_YES; | 4418 | daemon->worker_pool[i].shutdown = MHD_YES; |
4419 | daemon->worker_pool[i].socket_fd = MHD_INVALID_SOCKET; | 4419 | daemon->worker_pool[i].socket_fd = MHD_INVALID_SOCKET; |
4420 | #ifdef EPOLL_SUPPORT | 4420 | #ifdef EPOLL_SUPPORT |
4421 | if ( (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) && | 4421 | if ( (0 != (daemon->options & MHD_USE_EPOLL)) && |
4422 | (-1 != daemon->worker_pool[i].epoll_fd) && | 4422 | (-1 != daemon->worker_pool[i].epoll_fd) && |
4423 | (MHD_INVALID_SOCKET == fd) ) | 4423 | (MHD_INVALID_SOCKET == fd) ) |
4424 | epoll_shutdown (&daemon->worker_pool[i]); | 4424 | epoll_shutdown (&daemon->worker_pool[i]); |
@@ -4440,7 +4440,7 @@ MHD_stop_daemon (struct MHD_Daemon *daemon) | |||
4440 | } | 4440 | } |
4441 | #endif | 4441 | #endif |
4442 | #ifdef EPOLL_SUPPORT | 4442 | #ifdef EPOLL_SUPPORT |
4443 | if ( (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) && | 4443 | if ( (0 != (daemon->options & MHD_USE_EPOLL)) && |
4444 | (-1 != daemon->epoll_fd) && | 4444 | (-1 != daemon->epoll_fd) && |
4445 | (MHD_INVALID_SOCKET == fd) ) | 4445 | (MHD_INVALID_SOCKET == fd) ) |
4446 | epoll_shutdown (daemon); | 4446 | epoll_shutdown (daemon); |
@@ -4521,7 +4521,7 @@ MHD_stop_daemon (struct MHD_Daemon *daemon) | |||
4521 | } | 4521 | } |
4522 | #endif | 4522 | #endif |
4523 | #ifdef EPOLL_SUPPORT | 4523 | #ifdef EPOLL_SUPPORT |
4524 | if ( (0 != (daemon->options & MHD_USE_EPOLL_LINUX_ONLY)) && | 4524 | if ( (0 != (daemon->options & MHD_USE_EPOLL)) && |
4525 | (-1 != daemon->epoll_fd) && | 4525 | (-1 != daemon->epoll_fd) && |
4526 | (0 != MHD_socket_close_ (daemon->epoll_fd)) ) | 4526 | (0 != MHD_socket_close_ (daemon->epoll_fd)) ) |
4527 | MHD_PANIC ("close failed\n"); | 4527 | MHD_PANIC ("close failed\n"); |