You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by hu...@apache.org on 2012/08/06 11:26:10 UTC

svn commit: r1369758 - in /httpd/httpd/trunk/modules/lua: lua_vmprep.c mod_lua.c

Author: humbedooh
Date: Mon Aug  6 09:26:10 2012
New Revision: 1369758

URL: http://svn.apache.org/viewvc?rev=1369758&view=rev
Log:
use the ap_mutex functions to create the mutex instead of the apr_mutex ones.

Modified:
    httpd/httpd/trunk/modules/lua/lua_vmprep.c
    httpd/httpd/trunk/modules/lua/mod_lua.c

Modified: httpd/httpd/trunk/modules/lua/lua_vmprep.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/lua/lua_vmprep.c?rev=1369758&r1=1369757&r2=1369758&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/lua/lua_vmprep.c (original)
+++ httpd/httpd/trunk/modules/lua/lua_vmprep.c Mon Aug  6 09:26:10 2012
@@ -14,21 +14,30 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+
 #include "mod_lua.h"
 #include "http_log.h"
 #include "apr_uuid.h"
 #include "lua_config.h"
 #include "apr_file_info.h"
 #include "mod_auth.h"
+#include "util_mutex.h"
 
 APLOG_USE_MODULE(lua);
 
 #if APR_HAS_THREADS
-    apr_thread_mutex_t *ap_lua_mutex;
+    apr_proc_mutex_t *ap_lua_mutex;
+    
     
+int ap_lua_register_mutex(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp) 
+{
+    ap_mutex_register(p, "lua-shm", NULL, APR_LOCK_DEFAULT, 0);
+}
+
 void ap_lua_init_mutex(apr_pool_t *pool, server_rec *s) 
 {
-    apr_thread_mutex_create(&ap_lua_mutex, APR_THREAD_MUTEX_DEFAULT, pool);
+    ap_proc_mutex_create(&ap_lua_mutex, NULL, "lua-shm", NULL, s, pool, 0);
 }
 #endif
 
@@ -402,7 +411,7 @@ AP_LUA_DECLARE(lua_State*)ap_lua_get_lua
         ap_lua_server_spec* sspec = NULL;
         hash = apr_psprintf(r->pool, "reslist:%s", spec->file);
 #if APR_HAS_THREADS
-        apr_thread_mutex_lock(ap_lua_mutex);
+        apr_proc_mutex_lock(ap_lua_mutex);
 #endif
         if (apr_pool_userdata_get((void **)&reslist, hash,
                                   r->server->process->pool) == APR_SUCCESS) {
@@ -427,7 +436,7 @@ AP_LUA_DECLARE(lua_State*)ap_lua_get_lua
             }
         }
 #if APR_HAS_THREADS
-        apr_thread_mutex_unlock(ap_lua_mutex);
+        apr_proc_mutex_unlock(ap_lua_mutex);
 #endif
     }
     else {

Modified: httpd/httpd/trunk/modules/lua/mod_lua.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/lua/mod_lua.c?rev=1369758&r1=1369757&r2=1369758&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/lua/mod_lua.c (original)
+++ httpd/httpd/trunk/modules/lua/mod_lua.c Mon Aug  6 09:26:10 2012
@@ -129,6 +129,7 @@ static void ap_lua_release_state(lua_Sta
 
 #if APR_HAS_THREADS
 extern void ap_lua_init_mutex(apr_pool_t *pool, server_rec *s);
+extern int ap_lua_register_mutex(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp);
 #endif
 
 static ap_lua_vm_spec *create_vm_spec(apr_pool_t **lifecycle_pool,
@@ -1598,6 +1599,7 @@ static void lua_register_hooks(apr_pool_
                       APR_HOOK_REALLY_FIRST);
     ap_hook_handler(lua_map_handler, NULL, NULL, AP_LUA_HOOK_FIRST);
 #if APR_HAS_THREADS
+    ap_hook_pre_config(ap_lua_register_mutex, NULL, NULL, APR_HOOK_MIDDLE);
     ap_hook_child_init(ap_lua_init_mutex, NULL, NULL, APR_HOOK_MIDDLE);
 #endif
     /* providers */