Apache2
mpm_common.h File Reference

Multi-Processing Modules functions. More...

#include "ap_config.h"
#include "ap_mpm.h"
#include "scoreboard.h"
#include "apr_proc_mutex.h"
Include dependency graph for mpm_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ap_pod_t
 

Macros

#define DEFAULT_LISTENBACKLOG   511
 
#define AP_SIG_GRACEFUL   SIGUSR1
 
#define AP_SIG_GRACEFUL_SHORT   USR1
 
#define AP_SIG_GRACEFUL_STRING   "SIGUSR1"
 
#define AP_SIG_GRACEFUL_STOP   SIGWINCH
 
#define AP_SIG_GRACEFUL_STOP_SHORT   WINCH
 
#define AP_SIG_GRACEFUL_STOP_STRING   "SIGWINCH"
 
#define ap_sock_disable_nagle(s)   /* NOOP */
 
#define AP_MPM_PODX_RESTART_CHAR   '$'
 
#define AP_MPM_PODX_GRACEFUL_CHAR   '!'
 
#define AP_GRACEFUL_SHUTDOWN_TIMEOUT_COMMAND
 
#define AP_ACCEPT_MUTEX_TYPE   "mpm-accept"
 

Typedefs

typedef void ap_reclaim_callback_fn_t(int childnum, pid_t pid, ap_generation_t gen)
 
typedef struct ap_pod_t ap_pod_t
 

Enumerations

enum  ap_podx_restart_t { AP_MPM_PODX_NORESTART , AP_MPM_PODX_RESTART , AP_MPM_PODX_GRACEFUL }
 

Functions

void ap_reclaim_child_processes (int terminate, ap_reclaim_callback_fn_t *mpm_callback)
 
void ap_relieve_child_processes (ap_reclaim_callback_fn_t *mpm_callback)
 
void ap_register_extra_mpm_process (pid_t pid, ap_generation_t gen)
 
int ap_unregister_extra_mpm_process (pid_t pid, ap_generation_t *old_gen)
 
apr_status_t ap_mpm_safe_kill (pid_t pid, int sig)
 
int ap_process_child_status (apr_proc_t *pid, apr_exit_why_e why, int status)
 
apr_status_t ap_fatal_signal_setup (server_rec *s, apr_pool_t *in_pconf)
 
apr_status_t ap_fatal_signal_child_setup (server_rec *s)
 
apr_status_t ap_mpm_end_gen_helper (void *unused)
 
void ap_wait_or_timeout (apr_exit_why_e *status, int *exitcode, apr_proc_t *ret, apr_pool_t *p, server_rec *s)
 
uid_t ap_uname2id (const char *name)
 
gid_t ap_gname2id (const char *name)
 
apr_status_t ap_mpm_pod_open (apr_pool_t *p, ap_pod_t **pod)
 
apr_status_t ap_mpm_pod_check (ap_pod_t *pod)
 
apr_status_t ap_mpm_pod_close (ap_pod_t *pod)
 
apr_status_t ap_mpm_pod_signal (ap_pod_t *pod)
 
void ap_mpm_pod_killpg (ap_pod_t *pod, int num)
 
apr_status_t ap_mpm_podx_open (apr_pool_t *p, ap_pod_t **pod)
 
int ap_mpm_podx_check (ap_pod_t *pod)
 
apr_status_t ap_mpm_podx_close (ap_pod_t *pod)
 
apr_status_t ap_mpm_podx_signal (ap_pod_t *pod, ap_podx_restart_t graceful)
 
void ap_mpm_podx_killpg (ap_pod_t *pod, int num, ap_podx_restart_t graceful)
 
const char * ap_check_mpm (void)
 
const char * ap_mpm_set_max_requests (cmd_parms *cmd, void *dummy, const char *arg)
 
const char * ap_mpm_set_pidfile (cmd_parms *cmd, void *dummy, const char *arg)
 
void ap_mpm_dump_pidfile (apr_pool_t *p, apr_file_t *out)
 
const char * ap_mpm_set_coredumpdir (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_signal_server (int *, apr_pool_t *)
 
void ap_mpm_rewrite_args (process_rec *)
 
const char * ap_mpm_set_max_mem_free (cmd_parms *cmd, void *dummy, const char *arg)
 
const char * ap_mpm_set_thread_stacksize (cmd_parms *cmd, void *dummy, const char *arg)
 
void ap_core_child_status (server_rec *s, pid_t pid, ap_generation_t gen, int slot, mpm_child_status status)
 
int monitor (apr_pool_t *p, server_rec *s)
 
int ap_sys_privileges_handlers (int inc)
 
int drop_privileges (apr_pool_t *pchild, server_rec *s)
 
int mpm_query (int query_code, int *result, apr_status_t *rv)
 
apr_status_t mpm_register_timed_callback (apr_time_t t, ap_mpm_callback_fn_t *cbfn, void *baton)
 
apr_status_t mpm_register_poll_callback (apr_pool_t *p, const apr_array_header_t *pds, ap_mpm_callback_fn_t *cbfn, void *baton)
 
apr_status_t mpm_register_poll_callback_timeout (apr_pool_t *p, const apr_array_header_t *pds, ap_mpm_callback_fn_t *cbfn, ap_mpm_callback_fn_t *tofn, void *baton, apr_time_t timeout)
 
apr_status_t mpm_resume_suspended (conn_rec *)
 
const char * mpm_get_name (void)
 
int output_pending (conn_rec *c)
 
int input_pending (conn_rec *c)
 
void suspend_connection (conn_rec *c, request_rec *r)
 
void resume_connection (conn_rec *c, request_rec *r)
 
void child_stopping (apr_pool_t *pchild, int graceful)
 
void child_stopped (apr_pool_t *pchild, int graceful)
 
void mpm_common_pre_config (apr_pool_t *pconf)
 

Variables

AP_DECLARE_DATA int ap_max_requests_per_child
 
AP_DECLARE_DATA const char * ap_pid_fname
 
AP_DECLARE_DATA char ap_coredump_dir [MAX_STRING_LEN]
 
AP_DECLARE_DATA int ap_coredumpdir_configured
 
AP_DECLARE_DATA int ap_graceful_shutdown_timeout
 
AP_DECLARE_DATA apr_uint32_t ap_max_mem_free
 
AP_DECLARE_DATA apr_size_t ap_thread_stacksize
 

Detailed Description

Multi-Processing Modules functions.