mpm.h revision 6e954603b02f2b7d4ad80af17d9b3cc6f0bacf69
967e5f3c25249c779575864692935627004d3f9eChristian Maeder/* ====================================================================
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * The Apache Software License, Version 1.1
967e5f3c25249c779575864692935627004d3f9eChristian Maeder *
75a6279dbae159d018ef812185416cf6df386c10Till Mossakowski * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * reserved.
967e5f3c25249c779575864692935627004d3f9eChristian Maeder *
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * Redistribution and use in source and binary forms, with or without
89054b2b95a3f92e78324dc852f3d34704e2ca49Christian Maeder * modification, are permitted provided that the following conditions
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * are met:
967e5f3c25249c779575864692935627004d3f9eChristian Maeder *
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * 1. Redistributions of source code must retain the above copyright
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * notice, this list of conditions and the following disclaimer.
967e5f3c25249c779575864692935627004d3f9eChristian Maeder *
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * 2. Redistributions in binary form must reproduce the above copyright
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * notice, this list of conditions and the following disclaimer in
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder * the documentation and/or other materials provided with the
7221c71b38c871ce66eee4537cb681d468308dfbChristian Maeder * distribution.
34c05dd06c937d85e7f552e4ff0d36ca0393daeaChristian Maeder *
7221c71b38c871ce66eee4537cb681d468308dfbChristian Maeder * 3. The end-user documentation included with the redistribution,
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * if any, must include the following acknowledgment:
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * "This product includes software developed by the
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder * Apache Software Foundation (http://www.apache.org/)."
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder * Alternately, this acknowledgment may appear in the software itself,
997c56f3bc74a703043010978e5013fdb074d659Christian Maeder * if and wherever such third-party acknowledgments normally appear.
967e5f3c25249c779575864692935627004d3f9eChristian Maeder *
9744c7d9fa61d255d5e73beec7edc3499522e9e2Till Mossakowski * 4. The names "Apache" and "Apache Software Foundation" must
9744c7d9fa61d255d5e73beec7edc3499522e9e2Till Mossakowski * not be used to endorse or promote products derived from this
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder * software without prior written permission. For written
89054b2b95a3f92e78324dc852f3d34704e2ca49Christian Maeder * permission, please contact apache@apache.org.
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder *
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * 5. Products derived from this software may not be called "Apache",
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder * nor may "Apache" appear in their name, without prior written
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * permission of the Apache Software Foundation.
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder *
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
967e5f3c25249c779575864692935627004d3f9eChristian Maeder * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
dea4c92f0c061d589c542d0640a18dab36dfbb46Christian Maeder * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * SUCH DAMAGE.
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * ====================================================================
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder *
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * This software consists of voluntary contributions made by many
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * individuals on behalf of the Apache Software Foundation. For more
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * information on the Apache Software Foundation, please see
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * <http://www.apache.org/>.
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder *
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * Portions of this software are based upon public domain software
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * originally written at the National Center for Supercomputing Applications,
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder * University of Illinois, Urbana-Champaign.
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder */
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#include "httpd.h"
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#include "mpm_default.h"
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#include "scoreboard.h"
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#include "unixd.h"
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#ifndef APACHE_MPM_PREFORK_H
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define APACHE_MPM_PREFORK_H
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define PREFORK_MPM
239090e32b9079422ea1ce61197557e5b816f455Christian Maeder
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define MPM_NAME "Prefork"
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define AP_MPM_WANT_WAIT_OR_TIMEOUT
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define AP_MPM_WANT_PROCESS_CHILD_STATUS
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#define AP_MPM_WANT_SET_PIDFILE
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#define AP_MPM_WANT_SET_SCOREBOARD
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#define AP_MPM_WANT_SET_LOCKFILE
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#define AP_MPM_WANT_SET_MAX_REQUESTS
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#define AP_MPM_WANT_SET_COREDUMPDIR
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define AP_MPM_USES_POD 1
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define MPM_SYNC_CHILD_TABLE() (ap_sync_scoreboard_image())
0a8ea95bcf0e3f84fed0b725c049ec2a956a4a28Christian Maeder#define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid)
09eef8548cd62d787cf3a6535f9eae10592eec89Christian Maeder#define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0)
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#define MPM_ACCEPT_FUNC unixd_accept
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maederextern int ap_threads_per_child;
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maederextern int ap_max_daemons_limit;
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maederextern server_rec *ap_server_conf;
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder#endif /* APACHE_MPM_PREFORK_H */
7a879b08ae0ca30006f9be887a73212b07f10204Christian Maeder