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