httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bnicho...@apache.org
Subject cvs commit: httpd-2.0/server/mpm/netware mpm_netware.c
Date Sat, 06 Apr 2002 00:03:32 GMT
bnicholes    02/04/05 16:03:32

  Modified:    server/mpm/netware mpm_netware.c
  Log:
  Added a call to apr_bucket_alloc_destroy() to the clean_child_exit() code that
  is called when each worker thread terminates.  This stopped the memory leak.
  
  Revision  Changes    Path
  1.45      +8 -7      httpd-2.0/server/mpm/netware/mpm_netware.c
  
  Index: mpm_netware.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/mpm/netware/mpm_netware.c,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- mpm_netware.c	2 Apr 2002 16:25:23 -0000	1.44
  +++ mpm_netware.c	6 Apr 2002 00:03:32 -0000	1.45
  @@ -204,9 +204,10 @@
   #endif
   
   /* a clean exit from a child with proper cleanup */
  -static void clean_child_exit(int code, int worker_num) __attribute__ ((noreturn));
  -static void clean_child_exit(int code, int worker_num)
  +static void clean_child_exit(int code, int worker_num, apr_bucket_alloc_t *bucket_alloc)
__attribute__ ((noreturn));
  +static void clean_child_exit(int code, int worker_num, apr_bucket_alloc_t *bucket_alloc)
   {
  +    apr_bucket_alloc_destroy(bucket_alloc);
       apr_thread_mutex_lock(worker_thread_count_mutex);
       worker_thread_count--;
       apr_thread_mutex_unlock(worker_thread_count_mutex);
  @@ -395,7 +396,7 @@
   
           if ((ap_max_requests_per_child > 0
               && requests_this_child++ >= ap_max_requests_per_child)) {
  -            clean_child_exit(0, my_worker_num);
  +            clean_child_exit(0, my_worker_num, bucket_alloc);
           }
   
           ap_update_child_status_from_indexes(0, my_worker_num, WORKER_READY, 
  @@ -412,7 +413,7 @@
               if (shutdown_pending || restart_pending || (ap_scoreboard_image->servers[0][my_worker_num].status
== WORKER_IDLE_KILL)) {
                   DBPRINT1 ("\nThread slot %d is shutting down\n", my_worker_num);
                   apr_thread_mutex_unlock(accept_mutex);
  -                clean_child_exit(0, my_worker_num);
  +                clean_child_exit(0, my_worker_num, bucket_alloc);
               }
   
               /* If we just satisfied a request on listen port x, assume that more 
  @@ -517,12 +518,12 @@
                           */
                           ap_log_error(APLOG_MARK, APLOG_EMERG, stat, ap_server_conf,
                               "apr_accept: giving up.");
  -                        clean_child_exit(APEXIT_CHILDFATAL, my_worker_num);
  +                        clean_child_exit(APEXIT_CHILDFATAL, my_worker_num, bucket_alloc);
   
                       default:
                           ap_log_error(APLOG_MARK, APLOG_ERR, stat, ap_server_conf,
                               "apr_accept: (client socket)");
  -                        clean_child_exit(1, my_worker_num);
  +                        clean_child_exit(1, my_worker_num, bucket_alloc);
                   }
               }
           }
  @@ -544,7 +545,7 @@
           }
           request_count++;
       }
  -    clean_child_exit(0, my_worker_num);
  +    clean_child_exit(0, my_worker_num, bucket_alloc);
   }
   
   
  
  
  

Mime
View raw message