History log of /httpd/server/mpm/event/config.m4
Revision Date Author Comments Expand
4c92a6cd10f99227a7050e752866c88020a2c06b 1529442 05-Oct-2013 trawick

Disable event/eventopt if apr skiplist isn't available

633c8380a52f8f0dda6b771a4d3948e45f22187e 1293426 24-Feb-2012 sf

Revert Paul's lock free circular queue changes done on MPM-event. The changes have been moved to branches/mpm-event-optimization. This puts trunk's MPM-event back to the state of 2.4.x, except for serf support. The following commits are reverted: ------------------------------------------------------------------------ r1203404 | trawick | 2011-11-17 23:48:35 +0100 event no longer requires APR_POLLSET_THREADSAFE, or any other non-standard feature (all but OS/2 have APR_POLLSET_WAKEABLE) config-foo: don't require thread-safe pollset in order to build event event.c: don't stress APR_ENOTIMPL in apr_pollset_create errors; just give the standard "check system or user limits" message ------------------------------------------------------------------------ r1203858 | trawick | 2011-11-18 22:39:33 +0100 follow up to r1202257 -- perform normal wakeup processing when APR_EINTR is seen from apr_pollset_poll(), with expectation that it was triggered by apr_pollset_wakeup() ------------------------------------------------------------------------ r1202395 | trawick | 2011-11-15 20:38:31 +0100 spellcheck r1202258 ------------------------------------------------------------------------ r1202329 | pquerna | 2011-11-15 18:47:33 +0100 Calculate the power of two size of the buffer before allocating it. Spotted by: Rüdiger Plüm ------------------------------------------------------------------------ r1202259 | pquerna | 2011-11-15 16:52:59 +0100 Use apr_pollset_wakeup to ensure that the listener thread will process most enqueue'd events quickly ------------------------------------------------------------------------ r1202258 | pquerna | 2011-11-15 16:52:00 +0100 Because the pollset is now only mutated from the event thread, we no longer need the APR_POLLSET_THREADSAFE flag for the event_pollset ------------------------------------------------------------------------ r1202257 | pquerna | 2011-11-15 16:51:03 +0100 Create a new lock free circular queue, and use it in the EventMPM to remove the timeout mutex that was wrapping both timeout queue operations and pollset operations. ------------------------------------------------------------------------ r1202256 | pquerna | 2011-11-15 16:50:09 +0100 Instead of disabling the listening sockets from the pollset when under load, just stop calling the accept call, but leave the sockets in the pollset.

6267d7243082e8316774a5ae69bce69cf6fac748 1203404 17-Nov-2011 trawick

event no longer requires APR_POLLSET_THREADSAFE, or any other non-standard feature (all but OS/2 have APR_POLLSET_WAKEABLE) config-foo: don't require thread-safe pollset in order to build event event.c: don't stress APR_ENOTIMPL in apr_pollset_create errors; just give the standard "check system or user limits" message

d4eb7d475864c22aec70feeab2aeb8bfcae79a22 836165 14-Nov-2009 trawick

Improve hack to "determine" if APR supports thread-safe pollsets by hiding the presence of kqueue() on Leopard, matching APR's configuration. Event and Simple no longer report that they are supported on Leopard, resolving a broken default config file with --enable-mpms-shared=all on that platform. (Event was loaded by default in httpd.conf, and it failed at startup when it failed to obtain a thread-safe pollset.)

69c7cb9eeb0d965849dbc65e06a4a734f17fd7ef 766082 17-Apr-2009 trawick

Move logic to decide if an MPM is supported, and whether the MPM is threaded, down to the MPM itself. (server/mpm/FOO/config.m4, which runs before the actual MPM selection) server/mpm/config.m4 makes some general platform checks that can be used for MPM decisions, and contains some functions related to MPMs. XXX The check here for whether APR_POLLSET_THREADSAFE is available is a rough approximation and needs to be replaced by a run-time check. Replace the limited per-platform hard-coded MPM selection and the current defaulting to event (whether or not it works) with a selection based on which MPMs work on the platform, as reported by the MPMs themselves. (config2.m4, which runs after the MPMs record whether they are supported) Order of preference: WinNT (mingw32 only) then Event then Worker then Prefork