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.c46
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");