* server/mpm_fdqueue.c (queue_interrupt): noop and return APR_EOF when queue is
terminated already.
* server/mpm_fdqueue.h (struct fd_queue_t): make "terminated" volatile.
Follow up to r1891716.
Github: closes#208
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1891724 13f79535-47bb-0310-9956-ffa450edef68
server/mpm_fdqueue.h;
Rename "remove" field to "pfds" in timer_event_t.
server/mpm/event/event.c:
update_reqevents_from_sense():
New helper to update pfd->reqevents according to the given cs->sense
for CONN_STATE_WRITE_COMPLETION, reusable in process_socket() and
event_resume_suspended().
event_resume_suspended():
Process lingering close if given cs->state = CONN_STATE_LINGER.
Call notify_suspend() before entering CONN_STATE_WRITE_COMPLETION.
event_register_poll_callback_ex():
Don't poll pfds with reqevents == 0.
listener_thread():
Run event_cleanup_poll_callback to both remove the registered pfds
and leave pfds->pool in a consistent state.
Process users callabacks after all PT_USER batons have been collected
in the result pfds loop, otherwise we might race with the callbacks
within the loop if multiple events/sockets concern the same baton, and
crash if pfds->pool is cleared.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879417 13f79535-47bb-0310-9956-ffa450edef68
Export ap_queue_*() fonctions, so that they are accessible from MPMs, but
don't provide "mpm_fdqueue.h" in the API (include/).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1822366 13f79535-47bb-0310-9956-ffa450edef68
This first step moves the files server/mpm/event/fdqueue.[ch] to
server/mpm_fdqueue.[ch] (untouched for now, simple svn move).
Will follow up with the necessary changes to mpm_unix.* for common code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821624 13f79535-47bb-0310-9956-ffa450edef68