char *ext = NULL;
char *cmd_only, *ptr;
const char *new_cmd;
- const char *detached = NULL;
netware_dir_config *d;
apr_file_t *fh;
const char *args = "";
*cmd = apr_pstrcat (p, new_cmd, " ", cmd_only, NULL);
/* Run in its own address space if specified */
- detached = apr_table_get(d->file_handler_mode, ext);
- if (detached) {
- e_info->cmd_type = APR_PROGRAM_ADDRSPACE;
- }
- else {
- e_info->cmd_type = APR_PROGRAM;
- }
+ if(apr_table_get(d->file_handler_mode, ext))
+ e_info->addrspace = 1;
}
/* Tokenize the full command string into its arguments */
((rc = apr_procattr_detach_set(procattr,
e_info->detached)) != APR_SUCCESS) ||
+ ((rc = apr_procattr_addrspace_set(procattr,
+ e_info->addrspace)) != APR_SUCCESS) ||
((rc = apr_procattr_child_errfn_set(procattr, cgi_child_errfn)) != APR_SUCCESS)) {
/* Something bad happened, tell the world. */
ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r,
e_info.bb = NULL;
e_info.ctx = NULL;
e_info.next = NULL;
+ e_info.addrspace = 0;
/* build the command line */
if ((rv = cgi_build_command(&command, &argv, r, p, &e_info)) != APR_SUCCESS) {
e_info.bb = &bb;
e_info.ctx = ctx;
e_info.next = f->next;
+ e_info.addrspace = 0;
if ((rv = cgi_build_command(&command, &argv, r, r->pool,
&e_info)) != APR_SUCCESS) {