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/30 16:54:33 UTC

svn commit: r1688465 - in /tcl/rivet/trunk: ChangeLog src/mod_rivet/apache_config.c src/mod_rivet/rivet_worker_mpm.c

Author: mxmanghi
Date: Tue Jun 30 14:54:32 2015
New Revision: 1688465

URL: http://svn.apache.org/r1688465
Log:
    * src/mod_rivet/rivet_worker_mpm.c: thread id determination 
    method changed to support Apache 2.2


Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/src/mod_rivet/apache_config.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=1688465&r1=1688464&r2=1688465&view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Tue Jun 30 14:54:32 2015
@@ -1,3 +1,7 @@
+2015-06-30 Massimo Manghi <mx...@apache.org>
+    * src/mod_rivet/rivet_worker_mpm.c: thread id determination 
+    method changed to support Apache 2.2
+
 2015-06-28 Massimo Manghi <mx...@apache.org>
     * src/mod_rivet/mod_rivet.c: fixed errors in comments
     * src/mod_rivet/rivet_worker_mpm.c: Binding release of mutex and

Modified: tcl/rivet/trunk/src/mod_rivet/apache_config.c
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/src/mod_rivet/apache_config.c?rev=1688465&r1=1688464&r2=1688465&view=diff
==============================================================================
--- tcl/rivet/trunk/src/mod_rivet/apache_config.c (original)
+++ tcl/rivet/trunk/src/mod_rivet/apache_config.c Tue Jun 30 14:54:32 2015
@@ -403,51 +403,24 @@ Rivet_MergeConfig(apr_pool_t *p, void *b
     /* server_interp isn't set at this point. */
     /* rivet_global_init_script is global, not per server. */
 
-    rsc->rivet_child_init_script = overrides->rivet_child_init_script ?
-        overrides->rivet_child_init_script : base->rivet_child_init_script;
-
-    rsc->rivet_child_exit_script = overrides->rivet_child_exit_script ?
-        overrides->rivet_child_exit_script : base->rivet_child_exit_script;
-
-    rsc->rivet_before_script = overrides->rivet_before_script ?
-        overrides->rivet_before_script : base->rivet_before_script;
-
-    rsc->rivet_after_script = overrides->rivet_after_script ?
-        overrides->rivet_after_script : base->rivet_after_script;
-
-    rsc->rivet_error_script = overrides->rivet_error_script ?
-        overrides->rivet_error_script : base->rivet_error_script;
-
-    rsc->rivet_default_error_script = overrides->rivet_default_error_script ?
-        overrides->rivet_default_error_script : base->rivet_default_error_script;
-
-    rsc->rivet_abort_script = overrides->rivet_abort_script ?
-        overrides->rivet_abort_script : base->rivet_abort_script;
-
-    rsc->after_every_script = overrides->after_every_script ?
-        overrides->after_every_script : base->after_every_script;
-
-    rsc->upload_max = overrides->upload_max ?
-        overrides->upload_max : base->upload_max;
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_child_init_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_child_exit_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_before_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_after_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_error_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_default_error_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_abort_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,after_every_script)
+    RIVET_CONF_SELECT(rsc,base,overrides,upload_max)
 
     rsc->separate_virtual_interps = base->separate_virtual_interps;
     rsc->honor_header_only_reqs = base->honor_header_only_reqs;
     rsc->separate_channels = base->separate_channels;
 
-    /* server_name is set up later. */
-
-    rsc->upload_dir = overrides->upload_dir ?
-        overrides->upload_dir : base->upload_dir;
-
-    rsc->rivet_server_vars = overrides->rivet_server_vars ?
-        overrides->rivet_server_vars : base->rivet_server_vars;
-
-    rsc->rivet_dir_vars = overrides->rivet_dir_vars ?
-        overrides->rivet_dir_vars : base->rivet_dir_vars;
-
-    rsc->rivet_user_vars = overrides->rivet_user_vars ?
-        overrides->rivet_user_vars : base->rivet_user_vars;
-
+    RIVET_CONF_SELECT(rsc,base,overrides,upload_dir)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_server_vars)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_dir_vars)
+    RIVET_CONF_SELECT(rsc,base,overrides,rivet_user_vars)
     RIVET_CONF_SELECT(rsc,base,overrides,path)
 
     return rsc;

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=1688465&r1=1688464&r2=1688465&view=diff
==============================================================================
--- tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c (original)
+++ tcl/rivet/trunk/src/mod_rivet/rivet_worker_mpm.c Tue Jun 30 14:54:32 2015
@@ -106,7 +106,7 @@ void Rivet_MPM_Shutdown (void)
     int i,waits;
 
     apr_thread_mutex_lock(module_globals->pool_mutex);
-    job = (handler_private *) apr_palloc(module_globals->pool,sizeof(handler_private));
+    job = (handler_private *) apr_pcalloc(module_globals->pool,sizeof(handler_private));
     apr_thread_mutex_unlock(module_globals->pool_mutex);
     job->job_type = orderly_exit;
 
@@ -412,8 +412,8 @@ void Rivet_MPM_ChildInit (apr_pool_t* po
     module_globals->mpm->workers            = NULL;
     module_globals->mpm->server_shutdown    = 0;
 
-    module_globals->mpm->threads_count = (apr_uint32_t *) apr_palloc(pool,sizeof(apr_uint32_t));
-    module_globals->mpm->running_threads_count = (apr_uint32_t *) apr_palloc(pool,sizeof(apr_uint32_t));
+    module_globals->mpm->threads_count = (apr_uint32_t *) apr_pcalloc(pool,sizeof(apr_uint32_t));
+    module_globals->mpm->running_threads_count = (apr_uint32_t *) apr_pcalloc(pool,sizeof(apr_uint32_t));
     apr_atomic_set32(module_globals->mpm->threads_count,0);
     apr_atomic_set32(module_globals->mpm->running_threads_count,0);
 
@@ -540,9 +540,18 @@ int Rivet_MPM_Request (request_rec* r)
 
         if (request_private == NULL)
         {
-            apr_pool_t *tpool = apr_thread_pool_get(r->connection->current_thread);
+            apr_pool_t*     tpool;
+            apr_thread_t*   thread_id;
 
-            request_private = apr_palloc(tpool,sizeof(handler_private));
+#if HTTP_VERSION(AP_SERVER_MAJORVERSION_NUMBER,AP_SERVER_MINORVERSION_NUMBER) == 2004
+            thread_id = r->connection->current_thread;
+#else
+            apr_os_thread_t  os_thread_id = apr_os_thread_current();
+            apr_os_thread_put(&thread_id,&os_thread_id,r->pool);
+#endif
+
+            tpool = apr_thread_pool_get(thread_id);
+            request_private = apr_pcalloc(tpool,sizeof(handler_private));
  
             apr_thread_cond_create (&(request_private->cond), tpool);
             apr_thread_mutex_create (&(request_private->mutex), APR_THREAD_MUTEX_UNNESTED, tpool);



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