34#define APR_WANT_STRFUNC
63#undef APLOG_MODULE_INDEX
64#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
148 " still did not exit, "
160 " still did not exit, "
176 "attempting to continue anyway",
278#if APR_HAS_OTHER_CHILD
356 "cannot send signal %d to pid %ld (non-child or "
357 "already dead)",
sig, (
long)pid);
376 "refusing to send signal %d to pid %ld outside "
377 "process group",
sig, (
long)pid);
409 " returned a Fatal error... Apache is exiting!",
431 "child pid %ld exit signal %s (%d), "
432 "possible coredump in %s",
439 "child pid %ld exit signal %s (%d)",
513 "write pipe_of_death");
550 rc = read(
fd, &
c, 1);
598 "write pipe_of_death");
656 "get socket to connect to listener");
670 "set timeout on socket to connect to listener");
689 "connect to listener on %pI",
lp->bind_addr);
720 " (internal dummy connection)\r\n\r\n",
NULL);
778 "sending signal to server");
799 "Remove it before continuing if it is corrupted.");
803 status =
"httpd (no pid file) not running";
841 printf(
"httpd not running, trying to start\n");
851 printf(
"httpd not running, trying to start\n");
881 sizeof(
const char **));
914 while (
opt->ind <
opt->argc) {
932#if AP_ENABLE_EXCEPTION_HOOK
944 if (
cmd->server->is_virtual) {
945 return "EnableExceptionHook directive not allowed in <VirtualHost>";
955 return "parameter must be 'on' or 'off'";
980#if AP_ENABLE_EXCEPTION_HOOK
993 "seg fault or similar nasty error detected "
994 "in the parent process");
1047#ifndef NO_USE_SIGACTION
1053#if defined(SA_ONESHOT)
1055#elif defined(SA_RESETHAND)
Apache Listeners Library.
Apache Multi-Processing Module library.
const char apr_size_t len
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.
const char server_rec server_rec ** ps
const char * ap_get_server_description(void)
#define APEXIT_CHILDFATAL
ap_listen_rec * ap_listeners
apr_status_t ap_read_pid(apr_pool_t *p, const char *filename, pid_t *mypid)
#define AP_SERVER_BASEARGS
server_rec * ap_server_conf
#define AP_MPM_PODX_GRACEFUL_CHAR
const char * ap_pid_fname
char ap_coredump_dir[8192]
void ap_mpm_rewrite_args(process_rec *process)
#define AP_SIG_GRACEFUL_STOP
apr_status_t ap_mpm_safe_kill(pid_t pid, int sig)
apr_status_t ap_mpm_pod_open(apr_pool_t *p, 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)
int ap_unregister_extra_mpm_process(pid_t pid, ap_generation_t *old_gen)
int ap_signal_server(int *exit_status, apr_pool_t *pconf)
void ap_relieve_child_processes(ap_reclaim_callback_fn_t *mpm_callback)
int ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status)
void ap_reclaim_child_processes(int terminate, ap_reclaim_callback_fn_t *mpm_callback)
apr_status_t ap_fatal_signal_child_setup(server_rec *s)
#define AP_MPM_PODX_RESTART_CHAR
void ap_mpm_pod_killpg(ap_pod_t *pod, int num)
void ap_reclaim_callback_fn_t(int childnum, pid_t pid, ap_generation_t gen)
void ap_mpm_podx_killpg(ap_pod_t *pod, int num, ap_podx_restart_t graceful)
void ap_register_extra_mpm_process(pid_t pid, ap_generation_t gen)
apr_status_t ap_fatal_signal_setup(server_rec *s, apr_pool_t *in_pconf)
int ap_mpm_podx_check(ap_pod_t *pod)
apr_status_t ap_mpm_podx_signal(ap_pod_t *pod, ap_podx_restart_t graceful)
apr_status_t ap_mpm_podx_close(ap_pod_t *pod)
apr_status_t ap_mpm_pod_check(ap_pod_t *pod)
apr_status_t ap_mpm_podx_open(apr_pool_t *p, ap_pod_t **pod)
#define APR_CHILD_NOTDONE
#define APR_OC_REASON_RESTART
#define APR_STATUS_IS_TIMEUP(s)
#define APR_STATUS_IS_ENOENT(s)
#define APR_REGISTER_OPTIONAL_FN(name)
int ap_cstr_casecmp(const char *s1, const char *s2)
#define AP_DEBUG_ASSERT(exp)
void * ap_malloc(size_t size) __attribute__((malloc))
const char * ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden)
int strcasecmp(const char *a, const char *b)
apr_vformatter_buff_t * c
apr_interval_time_t apr_int32_t * num
#define apr_pool_create(newpool, parent)
apr_int32_t apr_int32_t apr_int32_t err
#define APR_PROC_CHECK_CORE_DUMP(x)
#define APR_PROC_CHECK_EXIT(x)
#define APR_PROC_CHECK_SIGNALED(x)
#define apr_time_from_sec(sec)
apr_status_t ap_mpm_query(int query_code, int *result)
#define AP_MPMQ_MAX_DAEMON_USED
static md_log_level_cb * log_level
Multi-Processing Modules functions.
static const char * dash_k_arg
static apr_status_t pod_signal_internal(ap_pod_t *pod)
static apr_status_t fatal_signal_cleanup(void *unused)
static const char * dash_k_arg_noarg
static int send_signal(pid_t pid, int sig)
static void sig_coredump(int sig)
static apr_pool_t * pconf
static apr_status_t podx_signal_internal(ap_pod_t *pod, ap_podx_restart_t graceful)
static extra_process_t * extras
static apr_status_t dummy_connection(ap_pod_t *pod)
static int reclaim_one_pid(pid_t pid, action_t action)
const char * apr_signal_description_get(int signum)
Apache scoreboard library.
scoreboard * ap_scoreboard_image
process_score * ap_get_scoreboard_process(int x)
apr_array_header_t * mpm_new_argv
Apache's listeners record.
A structure that represents one process.
A structure to store information for each virtual server.
apr_status_t apr_socket_send(apr_socket_t *sock, const char *buf, apr_size_t *len)
apr_status_t apr_socket_close(apr_socket_t *thesocket)
apr_status_t apr_socket_connect(apr_socket_t *sock, apr_sockaddr_t *sa)
apr_status_t apr_socket_create(apr_socket_t **new, int ofamily, int type, int protocol, apr_pool_t *cont)
apr_status_t apr_socket_timeout_set(apr_socket_t *sock, apr_interval_time_t t)
Apache Mutex support library.