History log of /httpd/server/mpm/event/fdqueue.h
Revision Date Author Comments Expand
259878293a997ff49f5ddfc53d3739cbdc25444e 1593857 11-May-2014 covener

Extend the socket callbacks in event to allow a timeout on the I/O callback. When a socket callback has a timeout, an associated timer event is used to remove the sockets from the pollset and call a timeout function. * This includes a noteworthy change to the main event loop. Previously, we would call epoll, then process the timer events, then iterate through the poll results. After this patch, the timer events are processed before the poll() a _non-queued_ action can change the pollset conents (a users timed callback function conversely could easily sit in a queue while the main thread continues down into epoll) * timer events can now have sockets associated with them, those sockets are removed from the pollset when the timer event fires w/o a queue to the worker. * timer events now have a canceled flag that can be toggled without locking the timer list. * Drop the severity of some wstunnel messages from DEBUG to TRACE1 * Lift the restriction on using asynchronous websockets connections but having an idle timeout

a0944d0cea0301ca402cfc896485d03da0d6209c 1204104 20-Nov-2011 sf

Remove MPM-private stuff from conn_state_t

742318b93e89c311f66b55f426c4d9cf2c14628b 1174748 23-Sep-2011 jim

Cleanup effort in prep for GA push: Trim trailing whitespace... no func change

/httpd/include/ap_config.h /httpd/include/ap_hooks.h /httpd/include/ap_listen.h /httpd/include/ap_mpm.h /httpd/include/ap_regex.h /httpd/include/ap_regkey.h /httpd/include/ap_release.h /httpd/include/ap_slotmem.h /httpd/include/ap_socache.h /httpd/include/http_connection.h /httpd/include/http_core.h /httpd/include/http_log.h /httpd/include/http_protocol.h /httpd/include/http_request.h /httpd/include/http_vhost.h /httpd/include/httpd.h /httpd/include/mod_core.h /httpd/include/mpm_common.h /httpd/include/scoreboard.h /httpd/include/util_cfgtree.h /httpd/include/util_charset.h /httpd/include/util_filter.h /httpd/include/util_ldap.h /httpd/include/util_mutex.h /httpd/include/util_script.h /httpd/include/util_time.h /httpd/modules/aaa/mod_authz_dbd.h /httpd/modules/arch/unix/mod_unixd.h /httpd/modules/arch/win32/mod_isapi.h /httpd/modules/cache/cache_cache.h /httpd/modules/cache/cache_hash.h /httpd/modules/cache/cache_pqueue.h /httpd/modules/core/mod_so.h /httpd/modules/core/mod_watchdog.h /httpd/modules/database/mod_dbd.h /httpd/modules/filters/libsed.h /httpd/modules/filters/mod_include.h /httpd/modules/filters/mod_ratelimit.h /httpd/modules/filters/regexp.h /httpd/modules/filters/sed.h /httpd/modules/generators/mod_cgi.h /httpd/modules/generators/mod_suexec.h /httpd/modules/ldap/util_ldap_cache.h /httpd/modules/loggers/mod_log_config.h /httpd/modules/lua/lua_vmprep.h /httpd/modules/lua/mod_lua.h /httpd/modules/mappers/mod_rewrite.h /httpd/modules/proxy/ajp.h /httpd/modules/proxy/ajp_header.h /httpd/modules/proxy/mod_serf.h /httpd/modules/session/mod_session.h /httpd/modules/ssl/mod_ssl.h /httpd/modules/ssl/ssl_private.h /httpd/modules/ssl/ssl_util_ssl.h /httpd/os/netware/os.h /httpd/os/netware/pre_nw.h /httpd/os/unix/unixd.h /httpd/os/win32/os.h fdqueue.h /httpd/server/mpm/mpmt_os2/mpm_default.h /httpd/server/mpm/simple/simple_event.h /httpd/server/mpm/winnt/mpm_winnt.h /httpd/server/util_expr_parse.h /httpd/support/suexec.h
b44ddab21bd6e44ba3c03f7ae8ed08dd23b68b48 1137358 19-Jun-2011 sf

Some improvements for handling of many connections for MPM event: - Process lingering close asynchronously instead of tying up worker threads (based on patch by Jeff Trawick). - If the number of connections of a process is above threads_per_child + WORKER_OVERCOMMIT * (idle_workers - 1) (WORKER_OVERCOMMIT is fixed at 2, at the moment), or if all workers are busy, don't accept new connections in that process. Such a dynamic connection limit is necessary because we may have both async and non-async (ssl) connections. WORKER_OVERCOMMIT should be a config option. - Don't count idle workers of not-accepting processes against MinSpareThreads, so that the parent will spawn new processes when necessary. - If we receive a keep-alive request while all workers are busy, don't block but close the connection immediately so that the client will re-connect to a different process. Related changes: - Log what is going on at trace loglevels. - Remove the bypass_push poll type flag, this code cannot be hit anymore (if it ever could?). - Add some macro helpers for dealing with timeout queues.

0ab15ffa17f588723d0c310af78b505bf4e8a953 1137262 19-Jun-2011 sf

If MaxMemFree is set, limit the number of recycled pools that is kept

8639a789ef8a4adec121d5b26b4d66c5cf8989cc 1064269 27-Jan-2011 jim

Revert an old (~10yr) change to the fd Q; move back to FIFO rather than LIFO, for more consistent performance so that older requests don't suffer

7677dd9b01d498a2af1cddb8e2506a25d7da630b 759115 27-Mar-2009 trawick

The Event MPM is no longer experimental; move it out of that ghetto. Yank the few bits that implement the concept of an experimental MPM.