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