mod_perl logo perl icon
previous page: mod_perl internals: mod_perl-specific functionality flowpage up: Developer's guidenext page: mod_perl Coding Style Guide

MPMs - Multi-Processing Model Modules






Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet
The mod_perl Developer's Cookbook

The mod_perl Developer's Cookbook

By Geoffrey Young, Paul Lindner, Randy Kobes
mod_perl Pocket Reference

mod_perl Pocket Reference

By Andrew Ford
Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern
Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
mod_perl2 User's Guide

mod_perl2 User's Guide

By Stas Bekman, Jim Brandt


Table of Contents

Description

Discover what are the available MPMs and how they work with mod_perl.

META: This doc is under construction. Owners are wanted. -- pgollucci volunteering



TOP

MPMs Overview



TOP

The Worker MPM

META: incomplete

You can test whether running under threaded env via: ?

  #ifdef USE_ITHREADS
  /* whatever */
  #endif

When the server is running under the threaded mpm scfg->threaded_mpm is set to true.

Caveats:

All per-server data is shared between threads, regardless of locking, changing the value of something like ap_document_root changes it for all threads. Not just the current process/request, the way it was in 1.3. So we can't really support modification of things like ap_document_root at request time, unless the mpm is prefork. we could support modification of modperl per-server data by using r->request_config in the same way push_handlers et al is implemented. But it is not possible to use this approach for anything outside of modperl (ap_document_root for example).



TOP

The Prefork MPM

META: incomplete



TOP

The Event MPM



TOP

Maintainers

Maintainer is the person(s) you should contact with updates, corrections and patches.



TOP

Authors

Only the major authors are listed above. For contributors see the Changes file.






TOP
previous page: mod_perl internals: mod_perl-specific functionality flowpage up: Developer's guidenext page: mod_perl Coding Style Guide