1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00

Overloading detached field in cgi_exec_info_t stuct in order to use same field to set detached and addrspace values for proc to be started.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104209 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jean-Jacques Clar
2004-07-09 20:28:48 +00:00
parent 0755c9714d
commit f2e3f86232
3 changed files with 3 additions and 6 deletions

View File

@@ -141,6 +141,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
/* check if we have a registered command for the extension*/
new_cmd = apr_table_get(d->file_type_handlers, ext);
e_info->detached = 1;
if (new_cmd == NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"Could not find a command associated with the %s extension", ext);
@@ -153,12 +154,11 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
/* Run in its own address space if specified */
if(apr_table_get(d->file_handler_mode, ext))
e_info->addrspace = 1;
e_info->detached |= 2;
}
/* Tokenize the full command string into its arguments */
apr_tokenize_to_argv(*cmd, (char***)argv, p);
e_info->detached = 1;
/* The first argument should be the executible */
*cmd = ap_server_root_relative(p, *argv[0]);

View File

@@ -433,7 +433,7 @@ static apr_status_t run_cgi_child(apr_file_t **script_out,
((rc = apr_procattr_detach_set(procattr,
e_info->detached)) != APR_SUCCESS) ||
((rc = apr_procattr_addrspace_set(procattr,
e_info->addrspace)) != APR_SUCCESS) ||
e_info->detached)) != 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,
@@ -790,7 +790,6 @@ static int cgi_handler(request_rec *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) {
@@ -1058,7 +1057,6 @@ static apr_status_t include_cmd(include_ctx_t *ctx, ap_filter_t *f,
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) {

View File

@@ -31,7 +31,6 @@ typedef struct {
apr_bucket_brigade **bb;
include_ctx_t *ctx;
ap_filter_t *next;
apr_int32_t addrspace;
} cgi_exec_info_t;
/**