switch to a 60 bit hash
[httpd-crcsyncproxy.git] / server / mpm / experimental / perchild / mpm.h
blobd4ed6e5713d341c654961f798fb58b8c27a136eb
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 /**
18 * @file perchild/mpm.h
19 * @brief Unix Perchild MPM
21 * @defgroup APACHE_MPM_PERCHILD Uinx Perchild MPM
22 * @ingroup APACHE_MPM APACHE_OS_UNIX
23 * @{
26 #include "httpd.h"
27 #include "mpm_default.h"
28 #include "unixd.h"
30 #ifndef APACHE_MPM_PERCHILD_H
31 #define APACHE_MPM_PERCHILD_H
33 #define PERCHILD_MPM
35 #define MPM_NAME "Perchild"
37 #define AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
38 #define AP_MPM_WANT_WAIT_OR_TIMEOUT
39 #define AP_MPM_WANT_PROCESS_CHILD_STATUS
40 #define AP_MPM_WANT_SET_PIDFILE
41 #define AP_MPM_WANT_SET_SCOREBOARD
42 #define AP_MPM_WANT_SET_LOCKFILE
43 #define AP_MPM_WANT_SET_MAX_REQUESTS
44 #define AP_MPM_WANT_SET_COREDUMPDIR
45 #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
46 #define AP_MPM_WANT_SIGNAL_SERVER
47 #define AP_MPM_WANT_SET_STACKSIZE
48 #define AP_MPM_WANT_FATAL_SIGNAL_HANDLER
49 #define AP_MPM_USES_POD
51 #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid)
52 #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0)
53 #define MPM_ACCEPT_FUNC ap_unixd_accept
55 /* Table of child status */
56 #define SERVER_DEAD 0
57 #define SERVER_DYING 1
58 #define SERVER_ALIVE 2
60 typedef struct ap_ctable{
61 pid_t pid;
62 unsigned char status;
63 } ap_ctable;
65 extern int ap_threads_per_child;
66 extern int ap_max_daemons_limit;
67 extern server_rec *ap_server_conf;
69 #endif /* APACHE_MPM_PERCHILD_H */
70 /** @} */