in modules/fcgid/fcgid_conf.c [1121:1162]
void get_cmd_options(request_rec *r, const char *cmdpath,
fcgid_cmd_options *cmdopts,
fcgid_cmd_env *cmdenv)
{
fcgid_server_conf *sconf =
ap_get_module_config(r->server->module_config, &fcgid_module);
fcgid_cmd_options *cmd_specific = apr_hash_get(sconf->cmdopts_hash,
cmdpath,
strlen(cmdpath));
int overflow;
if (cmd_specific) { /* ignore request context configuration */
*cmdopts = *cmd_specific;
*cmdenv = *cmdopts->cmdenv;
cmdopts->cmdenv = NULL;
/* pick up configuration for values that can't be configured
* on FcgidCmdOptions
*/
cmdopts->busy_timeout = sconf->busy_timeout;
return;
}
cmdopts->busy_timeout = sconf->busy_timeout;
cmdopts->idle_timeout = sconf->idle_timeout;
cmdopts->ipc_comm_timeout = sconf->ipc_comm_timeout;
cmdopts->ipc_connect_timeout = sconf->ipc_connect_timeout;
cmdopts->max_class_process_count = sconf->max_class_process_count;
cmdopts->max_requests_per_process = sconf->max_requests_per_process;
cmdopts->min_class_process_count = sconf->min_class_process_count;
cmdopts->proc_lifetime = sconf->proc_lifetime;
if ((overflow = set_cmd_envvars(cmdenv, sconf->default_init_env)) != 0) {
ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r,
"mod_fcgid: %d environment variables dropped; increase "
"INITENV_CNT in fcgid_pm.h from %d to at least %d",
overflow,
INITENV_CNT,
INITENV_CNT + overflow);
}
cmdopts->cmdenv = NULL;
}