32#define APR_WANT_STRFUNC
62#undef APLOG_MODULE_INDEX
63#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
65#define DEFAULT_HOOK_LINKS \
66 APR_HOOK_LINK(monitor) \
67 APR_HOOK_LINK(drop_privileges) \
69 APR_HOOK_LINK(mpm_query) \
70 APR_HOOK_LINK(mpm_register_timed_callback) \
71 APR_HOOK_LINK(mpm_get_name) \
72 APR_HOOK_LINK(end_generation) \
73 APR_HOOK_LINK(child_status) \
74 APR_HOOK_LINK(suspend_connection) \
75 APR_HOOK_LINK(resume_connection) \
76 APR_HOOK_LINK(child_stopping)
78#if AP_ENABLE_EXCEPTION_HOOK
121#if defined(APR_HOOK_PROBES_ENABLED)
122#undef APR_HOOK_PROBES_ENABLED
123#undef APR_HOOK_PROBE_ENTRY
124#define APR_HOOK_PROBE_ENTRY(ud,ns,name,args)
125#undef APR_HOOK_PROBE_RETURN
126#define APR_HOOK_PROBE_RETURN(ud,ns,name,rv,args)
127#undef APR_HOOK_PROBE_INVOKE
128#define APR_HOOK_PROBE_INVOKE(ud,ns,name,src,args)
129#undef APR_HOOK_PROBE_COMPLETE
130#define APR_HOOK_PROBE_COMPLETE(ud,ns,name,src,rv,args)
131#undef APR_HOOK_INT_DCL_UD
132#define APR_HOOK_INT_DCL_UD
158#define ALLOCATOR_MAX_FREE_DEFAULT (2048*1024)
176#ifndef INTERVAL_OF_WRITABLE_PROBES
177#define INTERVAL_OF_WRITABLE_PROBES 10
209#if defined(TCP_NODELAY)
225 "apr_socket_opt_set: (TCP_NODELAY)");
244 return (
ent->pw_uid);
262 return (
ent->gr_gid);
266#ifndef HAVE_INITGROUPS
269#if defined(_OSD_POSIX) || defined(OS2) || defined(WIN32) || defined(NETWARE)
308 if (
cmd->server->is_virtual) {
309 return "PidFile directive not allowed in <VirtualHost>";
332 "MaxRequestsPerChild is deprecated, use "
333 "MaxConnectionsPerChild instead.");
358 " does not exist",
NULL);
362 " is not a directory",
NULL);
435 "end of generation %d",
gi->gen);
460 "no record of generation %d", gen);
464 if (
cur->active == 0) {
506 cur->active =
cur->done = 0;
523 "no record of generation %d of exiting child %" APR_PID_T_FMT,
528 if (!
cur->active &&
cur->done) {
564 return "No MPM loaded.";
565 else if (
_hooks.link_mpm->nelts > 1)
566 return "More than one MPM loaded.";
570 return "The MPM cannot be changed during restart.";
#define AP_IMPLEMENT_HOOK_VOID(name, args_decl, args_use)
#define AP_IMPLEMENT_HOOK_RUN_ALL(ret, name, args_decl, args_use, ok, decline)
#define AP_IMPLEMENT_HOOK_RUN_FIRST(ret, name, args_decl, args_use, decline)
Apache Listeners Library.
Apache Multi-Processing Module library.
APR Internal Memory Allocation.
APR Command Arguments (getopt)
APR-UTIL registration of functions exported by modules.
APR Thread and Process Library.
APR Standard Headers Support.
static apr_pool_t * pconf
char * ap_server_root_relative(apr_pool_t *p, const char *fname)
const char * ap_show_mpm(void)
const char * ap_server_argv0
const char * ap_server_root
server_rec * ap_server_conf
void ap_run_end_generation(server_rec *s, ap_generation_t gen)
apr_status_t ap_mpm_register_timed_callback(apr_time_t t, ap_mpm_callback_fn_t *cbfn, void *baton)
void() ap_mpm_callback_fn_t(void *baton)
ap_vhost_iterate_conn_cb void * baton
int ap_run_monitor(apr_pool_t *p, server_rec *s)
void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret, apr_pool_t *p, server_rec *s)
const char * ap_pid_fname
char ap_coredump_dir[8192]
void mpm_common_pre_config(apr_pool_t *pconf)
const char * ap_check_mpm(void)
int ap_max_requests_per_child
const char * ap_mpm_set_pidfile(cmd_parms *cmd, void *dummy, const char *arg)
const char * ap_mpm_set_graceful_shutdown(cmd_parms *cmd, void *dummy, const char *arg)
int ap_coredumpdir_configured
const char * ap_mpm_set_coredumpdir(cmd_parms *cmd, void *dummy, const char *arg)
int ap_graceful_shutdown_timeout
#define ap_sock_disable_nagle(s)
int initgroups(const char *name, gid_t basegid)
apr_status_t ap_run_mpm_register_timed_callback(apr_time_t t, ap_mpm_callback_fn_t *cbfn, void *baton)
apr_size_t ap_thread_stacksize
void ap_mpm_dump_pidfile(apr_pool_t *p, apr_file_t *out)
void ap_core_child_status(server_rec *s, pid_t pid, ap_generation_t gen, int slot, mpm_child_status status)
apr_uint32_t ap_max_mem_free
const char * ap_mpm_set_max_requests(cmd_parms *cmd, void *dummy, const char *arg)
int ap_run_mpm_query(int query_code, int *result, apr_status_t *_rv)
apr_status_t ap_mpm_end_gen_helper(void *unused)
const char * ap_run_mpm_get_name(void)
const char * ap_mpm_set_thread_stacksize(cmd_parms *cmd, void *dummy, const char *arg)
const char * ap_mpm_set_max_mem_free(cmd_parms *cmd, void *dummy, const char *arg)
#define APR_STATUS_IS_CHILD_DONE(s)
#define APR_STATUS_IS_EINTR(s)
#define APR_HOOK_LINK(name)
#define APR_HOOK_STRUCT(members)
void ap_random_parent_after_fork(void)
const char * ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden)
apr_array_header_t ** result
int strcasecmp(const char *a, const char *b)
apr_vformatter_buff_t * c
#define apr_pcalloc(p, size)
#define APR_RING_ENTRY(elem)
#define APR_RING_INIT(hp, elem, link)
#define APR_RING_HEAD(head, elem)
#define APR_RING_SENTINEL(hp, elem, link)
#define APR_RING_EMPTY(hp, elem, link)
#define APR_RING_REMOVE(ep, link)
#define APR_RING_FIRST(hp)
#define APR_RING_INSERT_HEAD(hp, nep, elem, link)
#define APR_RING_NEXT(ep, link)
#define APR_RING_ELEM_INIT(ep, link)
apr_int32_t apr_int32_t apr_int32_t err
#define apr_time_from_sec(sec)
apr_status_t ap_mpm_query(int query_code, int *result)
static apr_pool_t * pchild
mod_core private header file
#define ALLOCATOR_MAX_FREE_DEFAULT
#define DEFAULT_HOOK_LINKS
static void end_gen(mpm_gen_info_t *gi)
static struct mpm_gen_info_head_t * unused_geninfo
static struct mpm_gen_info_head_t * geninfo
#define INTERVAL_OF_WRITABLE_PROBES
static int wait_or_timeout_counter
Multi-Processing Modules functions.
Apache scoreboard library.
int ap_update_global_status(void)
Structure to store things which are per connection.
struct mpm_gen_info_t::@48 link
A structure that represents the current request.
A structure to store information for each virtual server.
apr_status_t apr_socket_opt_set(apr_socket_t *sock, apr_int32_t opt, apr_int32_t on)
Apache Mutex support library.