29 #ifdef UPGRADE_SUPPORT
40 struct MHD_UpgradeResponseHandle *urh = connection->
request.urh;
50 if (
NULL != (tls = connection->
daemon->tls_api))
90 (! MHD_join_thread_ (pos->
pid.handle)) )
92 #ifdef UPGRADE_SUPPORT
93 connection_cleanup_upgraded (pos);
100 if (
NULL != (tls = daemon->tls_api))
112 (
const struct sockaddr *) &pos->
addr,
124 if ( (-1 != daemon->epoll_fd) &&
133 if (0 != epoll_ctl (daemon->epoll_fd,
137 MHD_PANIC (
_(
"Failed to remove FD from epoll set\n"));
struct MHD_Request request
enum MHD_EventLoopSyscall event_loop_syscall
void MHD_ip_limit_del(struct MHD_Daemon *daemon, const struct sockaddr *addr, socklen_t addrlen)
DLL_remove(daemon->suspended_connections_head, daemon->suspended_connections_tail, pos)
struct sockaddr_storage addr
struct MHD_Connection * cleanup_head
MHD_mutex_lock_chk_ & daemon
#define MHD_mutex_unlock_chk_(pmutex)
MHD_thread_handle_ID_ pid
internal shared structures
struct MHD_Daemon * daemon
MHD_NotifyConnectionCallback notify_connection_cb
#define MHD_INVALID_SOCKET
#define MHD_socket_close_chk_(fd)
#define EDLL_remove(head, tail, element)
functions to cleanup completed connection
void MHD_pool_destroy(struct MemoryPool *pool)
void(* teardown_connection)(void *cls, struct MHD_TLS_ConnectionState *cs)
struct MHD_Connection * cleanup_tail
struct MHD_Response * response
#define MHD_mutex_lock_chk_(pmutex)
void MHD_connection_cleanup_(struct MHD_Daemon *daemon)
enum MHD_Bool(* shutdown_connection)(void *cls, struct MHD_TLS_ConnectionState *cs)
counting of connections per IP
void * notify_connection_cb_cls
enum MHD_ThreadingMode threading_mode
MHD_mutex_ cleanup_connection_mutex
void MHD_response_queue_for_destroy(struct MHD_Response *response)