httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From traw...@apache.org
Subject cvs commit: httpd-2.0/modules/generators mod_cgid.c
Date Thu, 09 Aug 2001 15:10:58 GMT
trawick     01/08/09 08:10:58

  Modified:    .        CHANGES
               modules/generators mod_cgid.c
  Log:
  Fix a restart problem when cgid is used.  Code in the parent
  httpd process was trying to clear a pool which is now only
  initialized in the child.
  
  Revision  Changes    Path
  1.284     +4 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.283
  retrieving revision 1.284
  diff -u -r1.283 -r1.284
  --- CHANGES	2001/08/08 00:04:17	1.283
  +++ CHANGES	2001/08/09 15:10:58	1.284
  @@ -1,5 +1,9 @@
   Changes with Apache 2.0.24-dev
   
  +  *) Fix a restart problem when cgid is used.  Code in the parent
  +     httpd process was trying to clear a pool which is now only 
  +     initialized in the child.  [Greg Ames, Jeff Trawick]
  +     
   Changes with Apache 2.0.23
   
     *) Use the prefork MPM by default on Unix.  [various]
  
  
  
  1.91      +9 -4      httpd-2.0/modules/generators/mod_cgid.c
  
  Index: mod_cgid.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/generators/mod_cgid.c,v
  retrieving revision 1.90
  retrieving revision 1.91
  diff -u -r1.90 -r1.91
  --- mod_cgid.c	2001/08/06 22:32:57	1.90
  +++ mod_cgid.c	2001/08/09 15:10:58	1.91
  @@ -230,13 +230,18 @@
   static void cgid_maint(int reason, void *data, apr_wait_t status)
   {
       pid_t *sd = data;
  +
       switch (reason) {
           case APR_OC_REASON_DEATH:
  +            /* don't do anything; server is stopping or restarting */
  +            break;
           case APR_OC_REASON_LOST:
  -            /* stop gap to make sure everything else works.  In the end,
  -             * we'll just restart the cgid server. */
  -            apr_pool_destroy(pcgi);
  -            kill(getpid(), SIGWINCH); /* yes, to ourself */
  +            /* it would be better to restart just the cgid child
  +             * process but for now we'll gracefully restart the entire 
  +             * server by sending SIGWINCH to ourself, the httpd parent
  +             * process
  +             */
  +            kill(getpid(), SIGWINCH);
               break;
           case APR_OC_REASON_RESTART:
               apr_proc_other_child_unregister(data);
  
  
  

Mime
View raw message