]> granicus.if.org Git - apache/commitdiff
Overloading detached field in cgi_exec_info_t stuct in order to use same field to...
authorJean-Jacques Clar <clar@apache.org>
Fri, 9 Jul 2004 20:28:48 +0000 (20:28 +0000)
committerJean-Jacques Clar <clar@apache.org>
Fri, 9 Jul 2004 20:28:48 +0000 (20:28 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104209 13f79535-47bb-0310-9956-ffa450edef68

modules/arch/netware/mod_netware.c
modules/generators/mod_cgi.c
modules/generators/mod_cgi.h

index f392e7b5c77a20fdcc55503dac407f1fefc4553b..ed8f567f88d2984a89ee92fefb055b77b39a050d 100644 (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]);
index 5e93272027df2562a6e3899698fdd962b859999c..3f656c8b5dff3996ce6e943ecb9bc13d2b75ff4b 100644 (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) {
index 96fbe09f0c2fde0b308abf1b84c095207c37200a..c28b486bfce7fcc9badd62c143537ca7723c1eac 100644 (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;
 
 /**