GNU libmicrohttpd
0.9.62
|
implementation of MHD_request_resume() More...
Go to the source code of this file.
Functions | |
void | MHD_request_resume (struct MHD_Request *request) |
mhd_assert (NULL==daemon->worker_pool) | |
if (daemon->resuming) | |
mhd_assert (pos->suspended) | |
DLL_remove (daemon->suspended_connections_head, daemon->suspended_connections_tail, pos) | |
if (NULL==urh) | |
if ((used_thr_p_c)&&(ret)) | |
Variables | |
bool | |
struct MHD_Connection * | prev = NULL |
bool | ret = false |
const bool | used_thr_p_c = (MHD_TM_THREAD_PER_CONNECTION == daemon->threading_mode) |
MHD_mutex_lock_chk_ & | daemon |
daemon | resuming = false |
continue | |
pos | suspended = false |
implementation of MHD_request_resume()
Definition in file request_resume.c.
Referenced by cleanup_connection(), close_connection(), internal_add_connection(), internal_suspend_connection_(), MHD_cleanup_connections(), MHD_connection_cleanup_(), resume_suspended_connections(), and suspend_action().
if | ( | daemon-> | resuming | ) |
Definition at line 89 of file request_resume.c.
References mhd_assert, NULL, MHD_Daemon::shutdown, and MHD_Daemon::suspended_connections_tail.
Referenced by internal_add_connection(), and tdelete().
if | ( | NULL | = = urh | ) |
Definition at line 120 of file request_resume.c.
References MHD_Daemon::connection_default_timeout, MHD_Connection::connection_timeout, MHD_Daemon::connections_head, MHD_Daemon::connections_tail, DLL_insert, EDLL_insert, MHD_Daemon::event_loop_syscall, MHD_Connection::last_activity, MHD_Daemon::manual_timeout_head, MHD_Daemon::manual_timeout_tail, MHD_EPOLL_STATE_IN_EREADY_EDLL, MHD_EPOLL_STATE_READ_READY, MHD_EPOLL_STATE_SUSPENDED, MHD_EPOLL_STATE_WRITE_READY, MHD_monotonic_sec_counter(), MHD_PANIC, MHD_Daemon::normal_timeout_head, MHD_Daemon::normal_timeout_tail, and XDLL_insert.
if | ( | (used_thr_p_c)&&(ret) | ) |
Definition at line 179 of file request_resume.c.
References _, and MHD_Daemon::itc.
mhd_assert | ( | pos-> | suspended | ) |
void MHD_request_resume | ( | struct MHD_Request * | request | ) |
Resume handling of network data for suspended request. It is safe to resume a suspended request at any time. Calling this function on a request that was not previously suspended will result in undefined behavior.
If you are using this function in ``external'' select mode, you must make sure to run MHD_run() afterwards (before again calling MHD_get_fdset(), as otherwise the change may not be reflected in the set returned by MHD_get_fdset() and you may end up with a request that is stuck until the next network activity.
request | the request to resume |
Definition at line 43 of file request_resume.c.
References _, MHD_Daemon::cleanup_connection_mutex, MHD_Request::connection, daemon, MHD_Request::daemon, MHD_Daemon::disallow_suspend_resume, MHD_Daemon::itc, MHD_mutex_lock_chk_, MHD_mutex_unlock_chk_, MHD_PANIC, MHD_Connection::resuming, and MHD_Daemon::resuming.
Referenced by internal_run_from_select(), MHD_daemon_close_all_connections_(), and thread_main_handle_connection().
bool |
Run through the suspended connections and move any that are no longer suspended back to the active state.
daemon | daemon context |
Definition at line 79 of file request_resume.c.
continue |
Definition at line 113 of file request_resume.c.
MHD_mutex_unlock_chk_ & daemon |
Definition at line 87 of file request_resume.c.
Referenced by check_nonce_nc(), close_connection(), digest_auth_check_all(), get_master(), internal_add_connection(), MHD_connection_close_(), MHD_connection_mark_closed_(), MHD_connection_set_timeout(), MHD_connection_update_last_activity_(), MHD_daemon_create(), MHD_get_master(), MHD_queue_response(), MHD_request_handle_idle_(), MHD_request_handle_read_(), MHD_request_resume(), MHD_set_connection_option(), MHD_start_daemon(), MHD_start_daemon_va(), MHD_update_last_activity_(), response_action(), setup_thread_pool(), suspend_action(), and try_grow_read_buffer().
prev = NULL |
Definition at line 81 of file request_resume.c.
Referenced by internal_run_from_select(), MHD_del_response_header(), MHD_response_del_header(), and resume_suspended_connections().
pos resuming = false |
Definition at line 96 of file request_resume.c.
return ret = false |
Definition at line 82 of file request_resume.c.
Referenced by call_handlers(), check_argument_match(), MHD_connection_call_handlers_(), MHD_connection_handle_idle(), MHD_connection_handle_write(), MHD_create_post_processor(), MHD_destroy_post_processor(), MHD_get_connection_values(), MHD_pool_allocate(), MHD_pool_reallocate(), MHD_queue_auth_fail_response2(), MHD_queue_basic_auth_fail_response(), MHD_quiesce_daemon(), MHD_request_get_values(), MHD_request_handle_idle_(), MHD_request_handle_write_(), MHD_run_from_select(), MHD_run_tls_handshake_(), MHD_set_response_options(), parse_options(), parse_options_va(), recv_param_adapter(), resume_suspended_connections(), send_param_adapter(), try_ready_chunked_body(), and try_ready_normal_body().
pos suspended = false |
Definition at line 119 of file request_resume.c.
Definition at line 83 of file request_resume.c.
Referenced by close_all_connections(), MHD_daemon_close_all_connections_(), and resume_suspended_connections().