]> granicus.if.org Git - apache/commitdiff
Update conn_rec.id when a new thread begins working on a connection, because
authorEric Covener <covener@apache.org>
Mon, 12 Jan 2015 13:42:31 +0000 (13:42 +0000)
committerEric Covener <covener@apache.org>
Mon, 12 Jan 2015 13:42:31 +0000 (13:42 +0000)
the old thread may work on a new connection and assign the same ID in parallel.

Submitted By:  Michael Thorpe
Committed By: covener

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

CHANGES
server/mpm/event/event.c

diff --git a/CHANGES b/CHANGES
index ff89fc8a91848df660bc3fe3178332191daaa5f2..c7795fce4aa2387f5449aa5abbe83c1b3d716ebc 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) event: Update the internal "connection id" when requests
+     move from thread to thread. Reuse can confuse modules like
+     mod_cgid. PR 57435. [Michael Thorpe <mike gistnet.com>]
+
   *) mod_ssl: Add support for extracting subjectAltName entries of type
      rfc822Name and dNSName into SSL_{CLIENT,SERVER}_SAN_{Email,DNS}_n
      environment variables. Also addresses PR 57207. [Kaspar Brand]
index ccd8896f5de56e893105a4566094de16c047da53..b448ed2aff165a3f13ccdf86d75ce271c88e0ed0 100644 (file)
@@ -1061,6 +1061,8 @@ static void process_socket(apr_thread_t *thd, apr_pool_t * p, apr_socket_t * soc
         c->sbh = sbh;
         notify_resume(cs);
         c->current_thread = thd;
+        /* Subsequent request on a conn, and thread number is part of ID */
+        c->id = conn_id;
     }
 
     if (c->clogging_input_filters && !c->aborted) {