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

Disable event/eventopt if apr skiplist isn't available

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.)

efda5b91e5449985bbee6c3e3aa5d8d87b496310 832907 05-Nov-2009 trawick

tweak MPM configure to avoid having to grep for MPM names in lists of MPMs of some type (threaded or share-able or enabled), as suggested by jorton rename some MPM-related variables

8f234296a4f049d42dfc15e1e3544b4c788242b8 832621 04-Nov-2009 trawick

respect the MPM's indication passed on APACHE_MPM_SUPPORTED() of whether or not it can run as a shared library

0af58edfee6112cc3399e0e693340e525b96ab1c 832434 03-Nov-2009 trawick

Change the configure-based MPM build mechanism to support building an MPM as a shared shared or dynamic module, primarily using the APACHE_MPM_MODULE() function. --enable-mpms-shared now builds/installs the MPMs as dynamic modules. (But no LoadModule directives are added.)

fe0b84dd9e996846d9001f4dd096d5e8b6fd4c07 832409 03-Nov-2009 bjh

Brind OS/2 MPM up to date with current API.

125681776870ca1c5f5db07ae7b32540ee44e2f9 832228 03-Nov-2009 trawick

more configure-time support for dynamically loadable MPMs: . axe --with-mpm="shared" hack, replace with --enable-mpms-shared={all|list} . replace singular MPM_NAME with access to the list of enabled MPMs . replace singular MPM_SUBDIR with list MPM_SUBDIRS . enable OS/2 MPM in same manner as others with configure support instead of hard-coding in configure.in Current state: MPMs are built as static archives (but not linked to httpd) with --enable-mpms-shared, so they still have to be built with apxs to load dynamically.

03577bc320125eaa2b27ee7af78b894ee6dfe121 823794 10-Oct-2009 takashi

configure: Fix THREADED_MPMS so that mod_cgid is enabled again for worker MPM.

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

6e68ad13348b2b614939ae365470728026ff38be 760403 31-Mar-2009 trawick

stop exporting APACHE_MPM_DIR to modules -- unclear why this was ever necessary, and it makes no sense with loadable MPMs axe the unnecessary MPM_DIR build variable move the stray APACHE_SUBST(MPM_LIB) from configure.in to server/mpm/config.m4, where the other MPM_foos are handled

2b6211c9a710f564b0efa1c6549f9665233c160a 759129 27-Mar-2009 jim

Oooooooooooo look a commit! Wow! This is embarassing.

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.

a6f28459b5e1f3e0f34d1b0bd1ef4a7372bd8b05 758913 27-Mar-2009 trawick

finish removing OS/2 MPM

a00638fdbc4de1f64d37bbf84ea7fd2ba57fbffe 758889 26-Mar-2009 trawick

finish removing BeOS MPM

f8aafb8bd93472f7da5a7c158958ee09e4176c8e 758613 26-Mar-2009 trawick

remove leader, perchild, and threadpool MPMs (other than non-English bits in common parts of the manual)

/httpd/STATUS /httpd/docs/manual/mod/leader.html /httpd/docs/manual/mod/leader.html.de /httpd/docs/manual/mod/leader.html.en /httpd/docs/manual/mod/leader.html.ko.euc-kr /httpd/docs/manual/mod/leader.xml /httpd/docs/manual/mod/leader.xml.de /httpd/docs/manual/mod/leader.xml.ko /httpd/docs/manual/mod/leader.xml.meta /httpd/docs/manual/mod/mod_privileges.xml /httpd/docs/manual/mod/mpm_common.xml /httpd/docs/manual/mod/perchild.html /httpd/docs/manual/mod/perchild.html.en /httpd/docs/manual/mod/perchild.xml /httpd/docs/manual/mod/perchild.xml.meta /httpd/docs/manual/mod/threadpool.html /httpd/docs/manual/mod/threadpool.html.en /httpd/docs/manual/mod/threadpool.xml /httpd/docs/manual/mod/threadpool.xml.meta /httpd/docs/manual/programs/configure.xml /httpd/include/util_mutex.h /httpd/server/core_filters.c MPM.NAMING config.m4 experimental/leader/Makefile.in experimental/leader/README experimental/leader/config5.m4 experimental/leader/leader.c experimental/leader/mpm.h experimental/leader/mpm_default.h experimental/perchild/Makefile.in experimental/perchild/config5.m4 experimental/perchild/mpm.h experimental/perchild/mpm_default.h experimental/perchild/perchild.c experimental/threadpool/Makefile.in experimental/threadpool/README experimental/threadpool/config5.m4 experimental/threadpool/mpm.h experimental/threadpool/mpm_default.h experimental/threadpool/pod.c experimental/threadpool/pod.h experimental/threadpool/threadpool.c /httpd/server/mpm_common.c /httpd/server/util_mutex.c
efd7b1737a9b7391f1534538314ae3af5b146c1b 758597 26-Mar-2009 jim

prefork is soooooo 1990s. make new default simple

07ad9cf42d79c91e9040820317fc3bec0f9f23b1 757999 24-Mar-2009 trawick

Allow building httpd without a built-in MPM by specifying --with-mpm=shared on configure. When built thusly, an MPM should be loaded via LoadModule. (Currently you need to build the MPM with apxs.)

dd028aa8111afb6534fece555e8c2d408894671e 757853 24-Mar-2009 trawick

Introduce a new set of APIs to allow MPMs to be proper modules instead of integral parts which share global variables, functions, and macros with the rest of httpd. Converted now: prefork, worker, event, simple, WinNT* *WinNT hasn't been built or tested, and relies on a hack to include the WinNT mpm.h to disable Unixy MPM support routines in mpm_common.c

f997d134bcee6bfa4cd87b69acee96e80c5a358b 708462 28-Oct-2008 pquerna

Add a work in progress, a completely new, "Simple MPM".

59db624a43cd8ef36dbedd7eb11a49b6c76c3f42 422182 15-Jul-2006 pquerna

Bring in basic support for building the winnt MPM under mingw32, using the autoconf build system. Currently this will get you to the point of linking errors on gen_test_char. configure.in: Default to winnt MPM on mingw32 hosts. configure.in: Add AP_DECLARE_EXPORT for mingw32 hsots. os/config.m4: Use win32 dir under mingw32. os/win32/Makefile.in: Add in a new makefile to generate libos on win32. server/mpm/config.m4: Add winnt MPM to the help string. server/mpm/config.m4: winnt MPM is a threaded MPM. server/mpm/winnt/child.c: SO_UPDATE_ACCEPT_CONTEXT is defined under a different header in mingw32. server/mpm/winnt/{Makefile.in,config.m4}: Base build for winnt MPM. os/win32,server/mpm/winnt: Update svn:ignore for .deps/.libs

7b621044ee03c0c140c2ba6fdab7d2dfdb2b9f4a 239430 23-Aug-2005 colm

Remove support for the threaded-mpm's on Linux 2.0, and de-autoconf the graceful restart signal. Frees up SIGWINCH for implementing graceful stop. See <20050727114058.GA3390@stdlib.net> and subsequent thread on httpd-dev.

6007826c871f7fa7337693423ce30850c9532d77 156574 08-Mar-2005 pquerna

Add ap_mpm_is_experimental and ap_mpm_is_threaded. Use these instead of checking for specific MPMs.

d9039a9aaeaa1359c1147af66c09aeac56ae3ee0 105919 20-Nov-2004 pquerna

The Event MPM. Designed to minimize Apache's KeepAlive overhead. This MPM depends on the current APR-trunk for new features added to the apr_pollset interface. Currently the underlying operating system must support KQueue or EPoll. Status: Should work as a drop in replacement for all non-ssl servers. SSL Requests that use HTTP 1.1 Pipelining do not currently work. Testing: I have tested it with Linux 2.6, FreeBSD 5.2.1, and OS X 10.3. Originally based on the patch by Greg Ames.

a5dfff52334d2d205dc3c5b5cbff5c35f76b4b24 98917 07-Mar-2003 trawick

clean up the invocation of APR_CHECK_APR_DEFINE()... it no longer references the second parameter, which was incorrectly specified with out-of-tree APR anyway (which resulted in prefork being selected on Unix since we didn't ever think APR had thread support)

f078c14feaa52cc16e697fdd329cb0fd8c122260 94693 18-Apr-2002 jerenkrantz

Perchild has been deemed experimental and has been moved to server/mpm/experimental/perchild.

2fbee77c2d00b2658cd122315fd40424205ca15c 94674 17-Apr-2002 jerenkrantz

Add warning message when selecting an experimental MPM. While this message will scroll by without their reading it, we can reasonably say that we warned them if they report errors.

53237cb740b371f37cd4151425f1e3bcf19c58ff 94673 17-Apr-2002 brianp

Added support for the threadpool MPM

7169919d50d4f2e0bc9e0f90ddcdfc7d85430276 94614 12-Apr-2002 brianp

Added support for MPMs that live in subdirectories under server/mpm like server/mpm/experimental/*

6962437b03b17f2bcea91de6588007b1de2820df 93058 28-Jan-2002 bjh

Update --with-mpm help text wrt available OS/2 MPM name.

6faaa92300c38bb9dad8488fd12b872ab4e1fd2a 92183 26-Nov-2001 rbb

We must use absolute paths or we break VPATH builds.

f2afeedf074acc1a698a9527154eacd138e6c5a1 92098 21-Nov-2001 trawick

Bail out at configure time if an invalid MPM was specified. Submitted by: jean-frederic clere <jfrederic.clere@fujitsu-siemens.com> Reviewed by: Jeff Trawick

23ce412bd50a47accab4dd26019b78810bbf46eb 92036 19-Nov-2001 trawick

Get rid of threaded MPM. This commit has the actual code changes. The deletes come next.

e379fc6d7f79163700290d92ce75deb4f3005301 91211 30-Sep-2001 jerenkrantz

Kill two autoconf-related birds with one commit. - substr used in APACHE_MODULE for the help string did not parse correctly with autoconf 2.50+ so we had to punt there anyway and use AC_HELP_STRING. - Add APACHE_HELP_STRING define that will call AC_HELP_STRING on 2.50+ (actually not 2.13 - look at the regex call) or do our custom variation of it. This function can't have any extra spaces or it will be returned in the help string. So noted. If anyone can figure out how to insert a line break like 2.50+ does when we go over the 26th column, I'd appreciate it. I tried and I'm way too tired to figure it out now. Adding this would greatly simplify two or three HELP_STRING uses. - Switch all of those annoying WITH and ENABLE functions to use the APACHE_HELP_STRING. This makes everything consistent now. I've always had to go through and keep aligning everything every few months or so because I'm the only one who cares. No more. I refuse to do it any more! Use APACHE_HELP_STRING or be crucified. Looks decent with autoconf-2.13 and autoconf-2.52.

d65b067e7797b56d6678b0ddcd0aa9258cd55e64 90007 07-Aug-2001 trawick

Use the prefork MPM by default on Unix.

b1627fe7e2cb3809dcdfdf1fcbbb6dbccaf788c6 89781 30-Jul-2001 rbb

Add the worker MPM. The name is probably horrible, but I couldn't come up with anything better. This is a multiple-worker/single listener MPM. This MPM is definately not complete, but it is a first step in the right direction.

444774aa38f1eb4790df564d08e7ea3fa5ee01c3 89000 05-May-2001 rse

Cosmetics: align the entry of MPMs in "configure --help" output

937fdf00b9a29414cd05024c9de538dd3a57c1d5 88695 03-Apr-2001 rbb

Make Apache check APR's configuration when determining the default MPM. This way, if APR is built without threads, then Apache defaults to the prefork MPM.

85cd2d09a40e0f06b9517f368beecbf89db95a5f 88258 21-Feb-2001 trawick

Get rid of Apache's concern for foo_CHECK_SIGWAIT_ONE_ARG. Apache no longer needs to define nor invoke such a macro since it is handled in APR.

91e87f86fab77e9beb8240a76c30c4ed9f1c2a9c 88245 20-Feb-2001 fielding

Update APR macro usage to new name-protected names. Replace REENTRANCY_FLAGS with direct use of THREAD_CPPFLAGS. This is a temporary band-aid, since the way we currently set the standard make vars (CFLAGS, CPPFLAGS, LDFLAGS, etc.) is bogus and frequently redundant [to be fixed later].

e3ec3193b69b45923c14915fa3ee3bc1f0215baf 88199 16-Feb-2001 rbb

Rename the mpmt_pthread module to threaded. This module has moved from the old mpmt_pthread directory to the new threaded directory.

beaace1271473aa4854f529f2dac9738cd106578 88147 13-Feb-2001 rbb

Fix some spelling mistakes and remove the mpmt_beos MPM from the config.m4 file. Submitted by: Cliff Woolley <cliffwoolley@yahoo.com>

8e7c85d6eb9bf628f081763c5bd778b784d5001c 88144 13-Feb-2001 rbb

Remove the dexter MPM. This has been replaced with the Perchild MPM. The two MPMs are basically identical, except that Perchild also allows each child process to have a unique uid/gid combination.

b095ab1f1a0708c604aa661d916b5dc9317d624c 87187 04-Dec-2000 rbb

Get Apache to configure completely again. This still doesn't build, but now we are getting very close.

d280cb8604aca4f72cc3a7b093bc650585186d10 86141 23-Aug-2000 jim

Try to organize the MPM pre-selection to the hints.m4 file. PR: Obtained from: Submitted by: Reviewed by:

70d1108c574fc8b4ec9dbc2e8a75dfed607c5cfb 85902 27-Jul-2000 rbb

Add a new MPM. Currently this is almost an exact copy of the dexter MPM. In time, this will be the MPM that allows each child process to have a unique user id. I need a place to work and keep track of my changes. Don't expect this to work until next week sometime.

9eaa953c10c67949d063e890bc6ad9a76488083e 85887 26-Jul-2000 rbb

REmove the mpmt MPM. This also removes all of the config logic required to get this MPM to compile. I may try to combine the two threading MPMs a bit more, or I may not.

d0e2581939aaed1aa8f3f030d73652cd251480c2 85871 23-Jul-2000 sascha

Fix VPATH builds

9d902143a03d78eb51fa44ebde191bab1d7b63a1 85819 11-Jul-2000 rbb

Remove all pthreads calls from the mpmt MPM prefork emulation. This makes the mpmt MPM look almost exactly like the original prefork MPM. Basically, all that's left is re-naming the defined directives so they work with 1.3 config files. That will come later.

0272c6007594b5c330befe7449ee7c85f930cf9c 85798 09-Jul-2000 rbb

Fix building the mpmt MPM. The problem was that IfModule uses the name of the C file to determine if a module is present. mpmt emulates three different MPMs though. If the default config file we have sane defaults for each of the three MPMs that mpmt emulates. To fix this, the build process creates a soft link to the original MPM name during the configure process, and the build process actually compiles that file, instead of the original mpmt.c. This allow the mpmt MPM to work just as well as mpmt_pthread.

2ed589ce88330655b04cc88f3c9558063f9e361a 85792 08-Jul-2000 jim

Ack. is the variable that's set, so we better check that one :)

8b3eb8054aa0e9938462665596b38a44d29cea4d 85791 08-Jul-2000 jim

We already depend on these autoconf functions in other places. Avoid possible portability concerns by using them here as well

95a99c1194896ad189cdb8820e5479b36b3dd481 85789 08-Jul-2000 gstein

the new "mpmt" MPM is busted. the config system didn't listen to me when I said that I really wanted --with-mpm=mpmt_pthread. I made it listen :-) the new behavior: if you explicitly state an MPM, then it is used. if it guesses one, then it is free to replace that guess with mpmt. [ yes, this will probably change again when mpmt works ]

adee3340b63ce4e049c88f30f38bb6955dbf7799 85788 07-Jul-2000 rbb

Initial version of the mpmt MPM. This MPM can emulate dexter, mpmt_pthread, and prefork. This basically just combines a lot of common code. This builds and serves pages in all three modes, but I don't think killing the server works in any of them. The configuration system hasn't changed at all, so using --with-mpm=(prefork|dexter|mpmt_pthread) all work. My goal is to remove the three separate MPMs in a few days, and then work on merging one of the BeOS and the OS/2 MPMs into this as well. :-)

f8105cc63bd0b58f72a1bb037c045d1c4295a851 85539 12-Jun-2000 rbb

All of Apache uses APR for shared memory, so Apache doesn't need to check for SHM_[RW].

264110a4c12b0384d2bca8ad79e3b5264d79415f 85501 10-Jun-2000 rbb

Cleanup more of the Apache configuration. This removes all of the shared memory checks, because Apache relies completely on APR for shared memory support. In doing this, we also need to know how APR/MM are providing our shared memory (ie file or memory) that requires the change made to APR's configure script that was just committed.

5a4c8543069bbd07129228e30ad36685acadcce1 85457 07-Jun-2000 trawick

Change the mmap() feature test to check only for existence. The autoconf-provided check used previously fails when the platform doesn't support MAP_FIXED. Apache doesn't use that mmap() feature, so we don't want to require it. Submitted by: Greg Ames

d288d4d1d85dc9701b3a5d55343c1f95cf989022 85104 30-Apr-2000 sascha

Work around the non-working pthread.h detection on OpenBSD. We can savely assume that pthread.h exists on every system which supports Pthreads. PR: #29

24ddb55dbca6d3f51008a93fe976eb72ce8f95ed 85101 30-Apr-2000 sascha

Add ap_sigwait() to support old-style sigwait().

49bbbb924b8947942088cedd9a8016cee1b24fc0 84704 03-Mar-2000 bjh

Default to spmt_os2 on OS/2

fcdedd765cd02c1d2fcc44f93167a470ebe39225 84589 07-Feb-2000 dreid

These changes allow the MPM to be selected based on platform. At present it works for BeOS but adding others shouldn't be hard. Also added the OS2 MPM to the list.

ef72a78115e33d544e1244032253dc373c26b654 84521 26-Jan-2000 bjh

Only check for pthreads for mpms that actually need it rather than assuming everything except prefork needs it. Clarify threads != pthreads.

05e6aefad7ca4918ddf74ae2a4bf24a5ab347ec5 84475 16-Jan-2000 sascha

Move threads/reentrancy m4 macros into threads.m4. All results are now cached and can be made easily available to Apache and APR.

6ca0e6973c8176100f4a426444823ae5e777e28f 84423 11-Jan-2000 sascha

These changes are committed together, because they depend on each other. - shared modules can be built in the tree - added support for --with-layout, uses APACI's config.layout - working 'make install' - working 'make depend' - working Pthreads checks - buildconf replaced

65527d557101f56de3b03befb411e6d53aece6c5 84369 24-Dec-1999 rbb

Fix the threads check so it works on non-bash shells. Submitted by: Sascha Schumann Reviewed by: Ryan Bloom

572157c17a74e41b43712abda7a7e3c8f1bbd4b1 84365 24-Dec-1999 rbb

Finish the MPM decision logic. This moves the threads checking stuff into the mpm directory where it belongs. It also adds logic so that if threads aren't detected, we automatically choose to use the prefork mpm. Lastly, I also cleaned up a variable name to make it more consistent with the other variables used in our configure script.

999427a131afb3fc1c14ab092119bdae541a6d55 84363 23-Dec-1999 rbb

First stab at logic to determine which threading library to use. This also gets rid of the hack of always putting -pthread in the CFLAGS variable.

b9e4a86f22b3e8666186b9fe08e9241cdaf50d26 84329 20-Dec-1999 manoj

Eliminate the .h.stub files; AC_DEFINE can generate the necessary #defines in the config header for us.

01586709e8849631c627c9cbc827bd5e65ceac77 84226 05-Dec-1999 rbb

I shouldn't have to explicitly provide an MPM. I am setting the default as mpmt_pthread. I would much rather it was prefork, but the autoconf work hasn't progressed to the point that prefork will work yet. When it does work, I expect the default to change.

06b6cb227bb560084b5f87b30fa0023440abf369 84223 05-Dec-1999 manoj

autoconf: Generate modules.c based on configuration. This is the first step to supporting selection of modules, and it seems to make --with-mpm actually work now.

22ad84685642948ad15cc1e881ecbc4ac8cbf98c 84187 30-Nov-1999 manoj

The second part of the big autoconf patch, which actually adds autoconf building to the tree.