brian       98/05/28 15:10:00

  Modified:    htdocs/manual new_features_1_3.html
               src/include alloc.h buff.h compat.h
               src/main alloc.c http_log.c
               src/modules/standard mod_cgi.c mod_include.c
                        mod_mime_magic.c mod_rewrite.c
  Log:
  In the interests of some API cleanup:
  
  I converted all occurances of spawn_child to ap_spawn_child_err, and
  removed the spawn_child macro (actually moved it to compat.h)
  
  I then changed ap_spawn_child_err to simply ap_spawn_child, and
  ap_spawn_child_err_buff to ap_bspawn_child.
  
  These are all cosmetic and should not change functionality, but I think
  this will be of assistance to module authors trying to learn by examples we
  set in our code (lord help them!).
  
  Approved in concept by dgaudet & rse.
  
  Revision  Changes    Path
  1.65      +8 -3      apache-1.3/htdocs/manual/new_features_1_3.html
  
  Index: new_features_1_3.html
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/new_features_1_3.html,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- new_features_1_3.html     1998/05/20 23:08:35     1.64
  +++ new_features_1_3.html     1998/05/28 22:09:41     1.65
  @@ -419,7 +419,7 @@
       coming from the client).
   
   <DT><STRONG><CODE>kill_only_once</CODE></STRONG>
  -<DD>An option to <CODE>spawn_child</CODE> functions which prevents Apache
  +<DD>An option to <CODE>ap_spawn_child</CODE> functions which prevents Apache
       from aggressively trying to kill off the child.
   
   <DT><STRONG><CODE>alloc debugging code</CODE></STRONG>
  @@ -453,11 +453,16 @@
       <A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A> directive
       when retrieving the server name and port for a request.
   
  -<DT><STRONG>Change to prototype for <CODE>ap_spawn_child_err_buff</CODE> and
  +<DT><STRONG>Change to prototype for <CODE>ap_bspawn_child</CODE> and
       <CODE>ap_call_exec</CODE></STRONG>
   <DD>Added a <CODE>child_info *</CODE> to <CODE>spawn</CODE> function 
  -    (as passed to <CODE>ap_spawn_child_err_buff</CODE>) and to 
  +    (as passed to <CODE>ap_bspawn_child</CODE>) and to 
       <CODE>ap_call_exec</CODE> to allow children to work correctly on Win32.
  +    We also cleaned up the nomenclature a bit, replacing
  +    <CODE>spawn_child_err</CODE> with simply
  +    <CODE>ap_spawn_child</CODE> and <CODE>spawn_child_err_buff</CODE>
  +    with simply <CODE>ap_bspawn_child</CODE>.
  +
   </DL>
   
   <P><HR>
  
  
  
  1.59      +2 -3      apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- alloc.h   1998/05/18 20:41:30     1.58
  +++ alloc.h   1998/05/28 22:09:45     1.59
  @@ -286,7 +286,7 @@
   /* ... even child processes (which we may want to wait for,
    * or to kill outright, on unexpected termination).
    *
  - * spawn_child is a utility routine which handles an awful lot of
  + * ap_spawn_child is a utility routine which handles an awful lot of
    * the rigamarole associated with spawning a child --- it arranges
    * for pipes to the child's stdin and stdout, if desired (if not,
    * set the associated args to NULL).  It takes as args a function
  @@ -304,11 +304,10 @@
   typedef struct child_info child_info;
   API_EXPORT(void) ap_note_subprocess(pool *a, int pid,
                                    enum kill_conditions how);
  -API_EXPORT(int) ap_spawn_child_err(pool *, int (*)(void *, child_info *),
  +API_EXPORT(int) ap_spawn_child(pool *, int (*)(void *, child_info *),
                                   void *, enum kill_conditions,
                                   FILE **pipe_in, FILE **pipe_out,
                                   FILE **pipe_err);
  -#define spawn_child(p,f,v,k,in,out) ap_spawn_child_err(p,f,v,k,in,out,NULL)
   
   /* magic numbers --- min free bytes to consider a free pool block useable,
    * and the min amount to allocate if we have to go to malloc() */
  
  
  
  1.44      +1 -1      apache-1.3/src/include/buff.h
  
  Index: buff.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/buff.h,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- buff.h    1998/05/19 19:29:00     1.43
  +++ buff.h    1998/05/28 22:09:46     1.44
  @@ -217,7 +217,7 @@
       int dummy;
   #endif
   };
  -API_EXPORT(int) ap_spawn_child_err_buff(pool *, int (*)(void *, child_info 
*), void *,
  +API_EXPORT(int) ap_bspawn_child(pool *, int (*)(void *, child_info *), void 
*,
                                        enum kill_conditions, BUFF **pipe_in, 
BUFF **pipe_out,
                                        BUFF **pipe_err);
   
  
  
  
  1.10      +7 -2      apache-1.3/src/include/compat.h
  
  Index: compat.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/compat.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- compat.h  1998/05/27 22:55:59     1.9
  +++ compat.h  1998/05/28 22:09:46     1.10
  @@ -363,8 +363,8 @@
   #define show_modules                   ap_show_modules
   #define soft_timeout                   ap_soft_timeout
   #define some_auth_required             ap_some_auth_required
  -#define spawn_child_err                ap_spawn_child_err
  -#define spawn_child_err_buff           ap_spawn_child_err_buff
  +#define spawn_child_err                ap_spawn_child
  +#define spawn_child_err_buff           ap_bspawn_child
   #define srm_command_loop               ap_srm_command_loop
   #define standalone                     ap_standalone
   #define start_restart                  ap_start_restart
  @@ -404,6 +404,11 @@
   #define util_uri_init                  ap_util_uri_init
   #define uudecode                       ap_uudecode
   #define vbprintf                       ap_vbprintf
  +
  +/* 
  + *  Macros for routines whose arguments have changed over time.
  + */
  +#define spawn_child(p,f,v,k,in,out) ap_spawn_child(p,f,v,k,in,out,NULL)
   
   #ifdef __cplusplus
   }
  
  
  
  1.94      +18 -18    apache-1.3/src/main/alloc.c
  
  Index: alloc.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- alloc.c   1998/05/18 20:41:31     1.93
  +++ alloc.c   1998/05/28 22:09:50     1.94
  @@ -1806,9 +1806,9 @@
   #define BINMODE
   #endif
   
  -static int spawn_child_err_core(pool *p, int (*func) (void *, child_info *),
  -                             void *data,enum kill_conditions kill_how,
  -                             int *pipe_in, int *pipe_out, int *pipe_err)
  +static int spawn_child_core(pool *p, int (*func) (void *, child_info *),
  +                         void *data,enum kill_conditions kill_how,
  +                         int *pipe_in, int *pipe_out, int *pipe_err)
   {
       int pid;
       int in_fds[2];
  @@ -1993,20 +1993,20 @@
   }
   
   
  -API_EXPORT(int) ap_spawn_child_err(pool *p, int (*func) (void *, child_info 
*),
  -                                void *data, enum kill_conditions kill_how,
  -                                FILE **pipe_in, FILE **pipe_out,
  -                                FILE **pipe_err)
  +API_EXPORT(int) ap_spawn_child(pool *p, int (*func) (void *, child_info *),
  +                            void *data, enum kill_conditions kill_how,
  +                            FILE **pipe_in, FILE **pipe_out,
  +                            FILE **pipe_err)
   {
       int fd_in, fd_out, fd_err;
       int pid, save_errno;
   
       ap_block_alarms();
   
  -    pid = spawn_child_err_core(p, func, data, kill_how,
  -                            pipe_in ? &fd_in : NULL,
  -                            pipe_out ? &fd_out : NULL,
  -                            pipe_err ? &fd_err : NULL);
  +    pid = spawn_child_core(p, func, data, kill_how,
  +                        pipe_in ? &fd_in : NULL,
  +                        pipe_out ? &fd_out : NULL,
  +                        pipe_err ? &fd_err : NULL);
   
       if (pid == 0) {
        save_errno = errno;
  @@ -2043,9 +2043,9 @@
       return pid;
   }
   
  -API_EXPORT(int) ap_spawn_child_err_buff(pool *p, int (*func) (void *, 
child_info *), void *data,
  -                                     enum kill_conditions kill_how,
  -                                     BUFF **pipe_in, BUFF **pipe_out, BUFF 
**pipe_err)
  +API_EXPORT(int) ap_bspawn_child(pool *p, int (*func) (void *, child_info *), 
void *data,
  +                             enum kill_conditions kill_how,
  +                             BUFF **pipe_in, BUFF **pipe_out, BUFF 
**pipe_err)
   {
   #ifdef WIN32
       SECURITY_ATTRIBUTES sa = {0};  
  @@ -2180,10 +2180,10 @@
   
       ap_block_alarms();
   
  -    pid = spawn_child_err_core(p, func, data, kill_how,
  -                            pipe_in ? &fd_in : NULL,
  -                            pipe_out ? &fd_out : NULL,
  -                            pipe_err ? &fd_err : NULL);
  +    pid = spawn_child_core(p, func, data, kill_how,
  +                        pipe_in ? &fd_in : NULL,
  +                        pipe_out ? &fd_out : NULL,
  +                        pipe_err ? &fd_err : NULL);
   
       if (pid == 0) {
        save_errno = errno;
  
  
  
  1.59      +6 -6      apache-1.3/src/main/http_log.c
  
  Index: http_log.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_log.c,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- http_log.c        1998/05/18 20:41:32     1.58
  +++ http_log.c        1998/05/28 22:09:50     1.59
  @@ -188,9 +188,9 @@
       if (*s->error_fname == '|') {
        FILE *dummy;
   
  -     if (!spawn_child (p, error_log_child, (void *)(s->error_fname+1),
  -                       kill_after_timeout, &dummy, NULL)) {
  -         perror ("spawn_child");
  +     if (!ap_spawn_child(p, error_log_child, (void *)(s->error_fname+1),
  +                         kill_after_timeout, &dummy, NULL, NULL)) {
  +         perror ("ap_spawn_child");
            fprintf (stderr, "Couldn't fork child for ErrorLog process\n");
            exit (1);
        }
  @@ -652,9 +652,9 @@
       piped_log *pl;
       FILE *dummy;
   
  -    if (!spawn_child (p, piped_log_child, (void *)program,
  -             kill_after_timeout, &dummy, NULL)) {
  -     perror ("spawn_child");
  +    if (!ap_spawn_child(p, piped_log_child, (void *)program,
  +                     kill_after_timeout, &dummy, NULL, NULL)) {
  +     perror ("ap_spawn_child");
        fprintf (stderr, "Couldn't fork child for piped log process\n");
        exit (1);
       }
  
  
  
  1.80      +3 -4      apache-1.3/src/modules/standard/mod_cgi.c
  
  Index: mod_cgi.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_cgi.c,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- mod_cgi.c 1998/05/20 12:18:05     1.79
  +++ mod_cgi.c 1998/05/28 22:09:56     1.80
  @@ -428,10 +428,9 @@
        * waiting for free_proc_chain to cleanup in the middle of an
        * SSI request -djg
        */
  -    if (!ap_spawn_child_err_buff(r->main ? r->main->pool : r->pool, 
cgi_child,
  -                              (void *) &cld,
  -                              kill_after_timeout,
  -                              &script_out, &script_in, &script_err)) {
  +    if (!ap_bspawn_child(r->main ? r->main->pool : r->pool, cgi_child,
  +                      (void *) &cld, kill_after_timeout,
  +                      &script_out, &script_in, &script_err)) {
        ap_log_error(APLOG_MARK, APLOG_ERR, r->server,
                    "couldn't spawn child process: %s", r->filename);
        return SERVER_ERROR;
  
  
  
  1.93      +2 -2      apache-1.3/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_include.c,v
  retrieving revision 1.92
  retrieving revision 1.93
  diff -u -r1.92 -r1.93
  --- mod_include.c     1998/05/26 00:54:07     1.92
  +++ mod_include.c     1998/05/28 22:09:56     1.93
  @@ -821,8 +821,8 @@
       arg.r = r;
       arg.s = s;
   
  -    if (!ap_spawn_child_err_buff(r->pool, include_cmd_child, &arg,
  -                     kill_after_timeout, NULL, &script_in, NULL)) {
  +    if (!ap_bspawn_child(r->pool, include_cmd_child, &arg,
  +                      kill_after_timeout, NULL, &script_in, NULL)) {
           ap_log_error(APLOG_MARK, APLOG_ERR, r->server,
                     "couldn't spawn include command");
           return -1;
  
  
  
  1.33      +2 -2      apache-1.3/src/modules/standard/mod_mime_magic.c
  
  Index: mod_mime_magic.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_mime_magic.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- mod_mime_magic.c  1998/05/19 22:49:03     1.32
  +++ mod_mime_magic.c  1998/05/28 22:09:57     1.33
  @@ -2183,8 +2183,8 @@
        */
       sub_pool = ap_make_sub_pool(r->pool);
   
  -    if (!ap_spawn_child_err_buff(sub_pool, uncompress_child, &parm, 
kill_always,
  -                  &bin, &bout, NULL)) {
  +    if (!ap_bspawn_child(sub_pool, uncompress_child, &parm, kill_always,
  +                      &bin, &bout, NULL)) {
        ap_log_error(APLOG_MARK, APLOG_ERR, r->server,
                    MODNAME ": couldn't spawn uncompress process: %s", r->uri);
        return -1;
  
  
  
  1.110     +3 -3      apache-1.3/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.109
  retrieving revision 1.110
  diff -u -r1.109 -r1.110
  --- mod_rewrite.c     1998/05/28 11:39:25     1.109
  +++ mod_rewrite.c     1998/05/28 22:09:58     1.110
  @@ -3155,9 +3155,9 @@
               continue;
           fpin  = NULL;
           fpout = NULL;
  -        rc = ap_spawn_child_err(p, rewritemap_program_child,
  -                                (void *)map->datafile, kill_after_timeout,
  -                                &fpin, &fpout, &fperr);
  +        rc = ap_spawn_child(p, rewritemap_program_child,
  +                         (void *)map->datafile, kill_after_timeout,
  +                         &fpin, &fpout, &fperr);
           if (rc == 0 || fpin == NULL || fpout == NULL) {
               perror("ap_spawn_child");
               fprintf(stderr, "mod_rewrite: "
  
  
  

Reply via email to