summaryrefslogtreecommitdiffstats
path: root/server/mpm_fdqueue.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mpm_fdqueue: return EOF for ap_queue_interrupt_*() when terminated.Yann Ylavic2021-07-221-1/+1
| | | | | | | | | | | | | * 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
* mpm_event: poll callbacks fixes and improvements.Yann Ylavic2020-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-271-27/+31
| | | | | | | | | 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
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-1/+1
| | | | | | | | Make the allocation and zero-ing in ap_queue_init() => ap_queue_create(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821660 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-8/+8
| | | | | | | | Be explicit in the naming about what's push/pop-ed. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821651 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-1/+1
| | | | | | | | Cosmetics, 80 cols, no functional change. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821649 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-1/+1
| | | | | | | | Fix typo in comment. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821648 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-1/+3
| | | | | | | | The code is not part of the API. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821647 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-0/+2
| | | | | | | | Prepare mpm_worker to use common fdqueue. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821635 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-2/+2
| | | | | | | | Rename ap_queue_info_get_idlers() to ap_queue_info_num_idlers(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821629 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-21/+20
| | | | | | | | Style, no functional change. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821627 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-11/+5
| | | | | | | | Opacify fdqueue types. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821626 13f79535-47bb-0310-9956-ffa450edef68
* mpm_fdqueue: follow up to r1821624.Yann Ylavic2018-01-191-16/+17
| | | | | | | | And now it's mpm_fdqueue, with minimal #includes. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821625 13f79535-47bb-0310-9956-ffa450edef68
* Shared fdqueue code between MPMs event and worker into mpm_fdqueue.Yann Ylavic2018-01-191-0/+108
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