mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
stream_funcs.c: refactoring
This commit is contained in:
+22
-19
@@ -806,7 +806,7 @@ mhd_conn_start_closing (struct MHD_Connection *restrict c,
|
||||
#ifdef MHD_UPGRADE_SUPPORT
|
||||
if (mhd_CONN_CLOSE_UPGRADE == reason)
|
||||
{
|
||||
c->state = MHD_CONNECTION_UPGRADING;
|
||||
mhd_assert (MHD_CONNECTION_UPGRADING == c->state);
|
||||
c->event_loop_info = MHD_EVENT_LOOP_INFO_UPGRADED;
|
||||
}
|
||||
else
|
||||
@@ -883,6 +883,24 @@ mhd_conn_pre_clean_part1 (struct MHD_Connection *restrict c)
|
||||
mhd_stream_call_dcc_cleanup_if_needed (c);
|
||||
if (NULL != c->rq.cntn.lbuf.data)
|
||||
mhd_daemon_free_lbuf (c->daemon, &(c->rq.cntn.lbuf));
|
||||
|
||||
#ifdef MHD_USE_EPOLL
|
||||
if (mhd_POLL_TYPE_EPOLL == c->daemon->events.poll_type)
|
||||
{
|
||||
struct epoll_event event;
|
||||
|
||||
event.events = 0;
|
||||
event.data.ptr = NULL;
|
||||
if (0 != epoll_ctl (c->daemon->events.data.epoll.e_fd,
|
||||
EPOLL_CTL_DEL,
|
||||
c->socket_fd,
|
||||
&event))
|
||||
{
|
||||
mhd_LOG_MSG (c->daemon, MHD_SC_EPOLL_CTL_REMOVE_FAILED,
|
||||
"Failed to remove connection socket from epoll.");
|
||||
}
|
||||
}
|
||||
#endif /* MHD_USE_EPOLL */
|
||||
}
|
||||
|
||||
|
||||
@@ -895,6 +913,9 @@ mhd_conn_pre_clean (struct MHD_Connection *restrict c)
|
||||
mhd_assert (c->dbg.closing_started);
|
||||
mhd_assert (! c->dbg.pre_cleaned);
|
||||
|
||||
#ifdef MHD_UPGRADE_SUPPORT
|
||||
if (NULL == c->upgr.c)
|
||||
#endif
|
||||
mhd_conn_pre_clean_part1 (c);
|
||||
|
||||
if (NULL != c->rp.resp_iov.iov)
|
||||
@@ -918,24 +939,6 @@ mhd_conn_pre_clean (struct MHD_Connection *restrict c)
|
||||
mhd_pool_destroy (c->pool);
|
||||
c->pool = NULL;
|
||||
|
||||
#ifdef MHD_USE_EPOLL
|
||||
if (mhd_POLL_TYPE_EPOLL == c->daemon->events.poll_type)
|
||||
{
|
||||
struct epoll_event event;
|
||||
|
||||
event.events = 0;
|
||||
event.data.ptr = NULL;
|
||||
if (0 != epoll_ctl (c->daemon->events.data.epoll.e_fd,
|
||||
EPOLL_CTL_DEL,
|
||||
c->socket_fd,
|
||||
&event))
|
||||
{
|
||||
mhd_LOG_MSG (c->daemon, MHD_SC_EPOLL_CTL_REMOVE_FAILED,
|
||||
"Failed to remove connection socket from epoll.");
|
||||
}
|
||||
}
|
||||
#endif /* MHD_USE_EPOLL */
|
||||
|
||||
c->state = MHD_CONNECTION_CLOSED;
|
||||
#ifndef NDEBUG
|
||||
c->dbg.pre_cleaned = true;
|
||||
|
||||
Reference in New Issue
Block a user