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.
19 * @brief Unix Exent driven MPM
21 * @defgroup APACHE_MPM_EVENT Unix Event MPM
22 * @ingroup APACHE_OS_UNIX APACHE_MPM
26 #include "scoreboard.h"
29 #ifndef APACHE_MPM_EVENT_H
30 #define APACHE_MPM_EVENT_H
34 #define MPM_NAME "Event"
36 #define AP_MPM_WANT_RECLAIM_CHILD_PROCESSES
37 #define AP_MPM_WANT_WAIT_OR_TIMEOUT
38 #define AP_MPM_WANT_PROCESS_CHILD_STATUS
39 #define AP_MPM_WANT_SET_PIDFILE
40 #define AP_MPM_WANT_SET_SCOREBOARD
41 #define AP_MPM_WANT_SET_LOCKFILE
42 #define AP_MPM_WANT_SET_MAX_REQUESTS
43 #define AP_MPM_WANT_SET_COREDUMPDIR
44 #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
45 #define AP_MPM_WANT_SIGNAL_SERVER
46 #define AP_MPM_WANT_SET_MAX_MEM_FREE
47 #define AP_MPM_WANT_SET_STACKSIZE
48 #define AP_MPM_WANT_SET_GRACEFUL_SHUTDOWN
49 #define AP_MPM_WANT_FATAL_SIGNAL_HANDLER
50 #define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK
52 #define AP_MPM_HAS_USER_CALLBACKS
54 #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid)
55 #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0)
56 #define MPM_ACCEPT_FUNC ap_unixd_accept
58 extern int ap_threads_per_child
;
59 extern int ap_max_daemons_limit
;
60 extern server_rec
*ap_server_conf
;
61 extern char ap_coredump_dir
[MAX_STRING_LEN
];
63 #endif /* APACHE_MPM_EVENT_H */