You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-cvs@tcl.apache.org by mx...@apache.org on 2015/06/09 00:11:07 UTC

svn commit: r1684291 - in /tcl/rivet/trunk: ChangeLog src/mod_rivet/rivetInspect.c src/mod_rivet/rivet_worker_mpm.c

Author: mxmanghi
Date: Mon Jun  8 22:11:07 2015
New Revision: 1684291

URL: http://svn.apache.org/r1684291
Log:
    * src/mod_rivet/rivet_worker_mpm.c: found a solution for determining
    the current thread pool. Mutex and cond variable are allocated from it
    but never destroyed. Still have to understand if letting the pool go
    is enough for a clean deletion of them
    * src/mod_rivet/rivetInspect.c: a pesky 'static' declaration of
    a local variable was still existing and under intense request firing 
    threads stumbled on it.


Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/src/mod_rivet/rivetInspect.c
    tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=1684291&r1=1684290&r2=1684291&view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Mon Jun  8 22:11:07 2015
@@ -1,3 +1,12 @@
+2015-06-06 Massimo Manghi <mx...@apache.org>
+    * src/mod_rivet/rivet_worker_mpm.c: found a solution for determining
+    the current thread pool. Mutex and cond variable are allocated from it
+    but never destroyed. Still have to understand if letting the pool go
+    is enough for a clean deletion of them
+    * src/mod_rivet/rivetInspect.c: a pesky 'static' declaration of
+    a local variable was still existing and under intense request firing 
+    threads stumbled on it.
+
 2015-06-03 Massimo Manghi <mx...@apache.org>
     * doc/rivet.css: changing selector for namespace table as DocBook
     seems not to honor the id attribute anymore

Modified: tcl/rivet/trunk/src/mod_rivet/rivetInspect.c
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/src/mod_rivet/rivetInspect.c?rev=1684291&r1=1684290&r2=1684291&view=diff
==============================================================================
--- tcl/rivet/trunk/src/mod_rivet/rivetInspect.c (original)
+++ tcl/rivet/trunk/src/mod_rivet/rivetInspect.c Mon Jun  8 22:11:07 2015
@@ -344,7 +344,7 @@ Tcl_Obj* Rivet_CurrentConfDict ( Tcl_Int
 {
     Tcl_Obj* dictObj = Tcl_NewObj();
     Tcl_Obj* par_name; 
-    static const char** p;
+    const char** p;
 
     for (p = confDirectives; (*p) != NULL; p++)
     {

Modified: tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c?rev=1684291&r1=1684290&r2=1684291&view=diff
==============================================================================
--- tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c (original)
+++ tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c Mon Jun  8 22:11:07 2015
@@ -501,12 +501,15 @@ int Rivet_MPM_Request (request_rec* r)
 
         if (request_private == NULL)
         {
-            apr_thread_mutex_lock(module_globals->pool_mutex);
-            request_private      = apr_palloc(module_globals->pool,sizeof(handler_private));
+            apr_pool_t *tpool = apr_thread_pool_get(r->connection->current_thread);
+
+
+            //apr_thread_mutex_lock(module_globals->pool_mutex);
+            request_private      = apr_palloc(tpool,sizeof(handler_private));
  
-            apr_thread_cond_create(&(request_private->cond), module_globals->pool);
-            apr_thread_mutex_create(&(request_private->mutex), APR_THREAD_MUTEX_UNNESTED, module_globals->pool);
-            apr_thread_mutex_unlock(module_globals->pool_mutex);
+            apr_thread_cond_create(&(request_private->cond), tpool);
+            apr_thread_mutex_create(&(request_private->mutex), APR_THREAD_MUTEX_UNNESTED, tpool);
+            //apr_thread_mutex_unlock(module_globals->pool_mutex);
 
             apr_threadkey_private_set (request_private,handler_thread_key);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: site-cvs-unsubscribe@tcl.apache.org
For additional commands, e-mail: site-cvs-help@tcl.apache.org