Commit b4003ef4 authored by Paul Querna's avatar Paul Querna
Browse files

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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@708462 13f79535-47bb-0310-9956-ffa450edef68
parent 98630747
Loading
Loading
Loading
Loading
+3 −0
Changes for server/mpm/MPM.NAMING: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line

The following MPMs currently exist:

  simple ........ Single or Multi Process, with Preforking or Threading,
                  depending on configuration and operating systems.  Should
                  be able to run on all modern operating systems.
  prefork ....... Multi  Process Model with Preforking (Apache 1.3)
  perchild ...... Multi  Process Model with Threading.
                  Constant number of processes, variable number of threads
+2 −2
Changes for server/mpm/config.m4: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
AC_MSG_CHECKING(which MPM to use)
AC_ARG_WITH(mpm,
APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use.
                          MPM={beos|event|worker|prefork|mpmt_os2|perchild|leader|threadpool|winnt}),[
                          MPM={simple|beos|event|worker|prefork|mpmt_os2|perchild|leader|threadpool|winnt}),[
  APACHE_MPM=$withval
],[
  if test "x$APACHE_MPM" = "x"; then
@@ -14,7 +14,7 @@ apache_cv_mpm=$APACHE_MPM
	
ap_mpm_is_threaded ()
{
    if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "winnt" -o "$apache_cv_mpm" = "threadpool" ; then
    if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "simple" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "winnt" -o "$apache_cv_mpm" = "threadpool" ; then
        return 0
    else
        return 1
+4 −0
Changes for server/mpm/simple/Makefile.in: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
LTLIBRARY_NAME    = libsimple.la
LTLIBRARY_SOURCES = simple_api.c simple_children.c simple_core.c simple_event.c simple_run.c simple_io.c

include $(top_srcdir)/build/ltlib.mk
+6 −0
Changes for server/mpm/simple/SIMPLE.README: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
The Simple MPM aims to create a single MPM, that runs on all modern
Unix and Win32 platforms, by using APR as much as possible.

The Simple MPM core run loop revovles around a Poll CB event system, with 
timers being built in.  When an event, either an IO or Timer is ready to run, 
it is dispatched to any available threads in the currrent process.
+3 −0
Changes for server/mpm/simple/config.m4: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
if test "$MPM_NAME" = "simple" ; then
    APACHE_FAST_OUTPUT(server/mpm/$MPM_NAME/Makefile)
fi
Loading