upload http
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / server / mpm / experimental / perchild / mpm.h
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 #include "httpd.h"
18 #include "mpm_default.h"
19 #include "unixd.h"
20
21 #ifndef APACHE_MPM_PERCHILD_H
22 #define APACHE_MPM_PERCHILD_H
23
24 #define PERCHILD_MPM
25
26 #define MPM_NAME "Perchild"
27
28 #define AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
29 #define AP_MPM_WANT_WAIT_OR_TIMEOUT
30 #define AP_MPM_WANT_PROCESS_CHILD_STATUS
31 #define AP_MPM_WANT_SET_PIDFILE
32 #define AP_MPM_WANT_SET_SCOREBOARD
33 #define AP_MPM_WANT_SET_LOCKFILE
34 #define AP_MPM_WANT_SET_MAX_REQUESTS
35 #define AP_MPM_WANT_SET_COREDUMPDIR
36 #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
37 #define AP_MPM_WANT_SIGNAL_SERVER
38 #define AP_MPM_WANT_FATAL_SIGNAL_HANDLER
39 #define AP_MPM_USES_POD
40
41 #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid)
42 #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0)
43 #define MPM_ACCEPT_FUNC unixd_accept
44
45 /* Table of child status */
46 #define SERVER_DEAD 0
47 #define SERVER_DYING 1
48 #define SERVER_ALIVE 2
49
50 typedef struct ap_ctable{
51     pid_t pid;
52     unsigned char status;
53 } ap_ctable;
54
55 extern int ap_threads_per_child;
56 extern int ap_max_daemons_limit;
57 extern server_rec *ap_server_conf;
58
59 #endif /* APACHE_MPM_PERCHILD_H */