]> granicus.if.org Git - apache/commitdiff
Fix for a segfault in the worker MPM during graceful shutdown:
authorBrian Pane <brianp@apache.org>
Fri, 11 Jan 2002 08:01:11 +0000 (08:01 +0000)
committerBrian Pane <brianp@apache.org>
Fri, 11 Jan 2002 08:01:11 +0000 (08:01 +0000)
The per-transaction pools in the worker MPM can't be children of
the listener thread's pool, because that pool may go out of scope
while some workers are still procesing requests using the transaction
pools.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92821 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm/worker/worker.c

diff --git a/CHANGES b/CHANGES
index a2e9956a9e56f869d1ef50c2ff225f08969f1017..411b538b83134cfcecfc214d5c4b0372a8d1bc5a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,8 @@
 Changes with Apache 2.0.31-dev
 
+  *) Fixed a segfault that happened during graceful shutdown (or when
+     the httpd ran out of file descriptors) with the worker MPM [Brian Pane]
+
   *) Split all Win32 modules [excluding the core components mod_core, 
      mod_so, mod_win32 and the winnt mpm] into individual loadable
      modules, so the administrator may individually disable the former
index 4d01e9194284abeec8d181f9a015826603d4a77f..d2552908678f71c9952dcfa1a7afbaa292a34e95 100644 (file)
@@ -701,7 +701,7 @@ static void *listener_thread(apr_thread_t *thd, void * dummy)
     got_fd:
         if (!workers_may_exit) {
             /* create a new transaction pool for each accepted socket */
-            apr_pool_create_ex(&ptrans, tpool, NULL, APR_POOL_FNEW_ALLOCATOR);
+            apr_pool_create_ex(&ptrans, NULL, NULL, APR_POOL_FNEW_ALLOCATOR);
             apr_pool_tag(ptrans, "transaction");
 
             rv = lr->accept_func(&csd, lr, ptrans);