* 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_proc_mutex_t *ap_lua_mutex;
-
+ apr_thread_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)
{
- ap_proc_mutex_create(&ap_lua_mutex, NULL, "lua-shm", NULL, s, pool, 0);
+ apr_thread_mutex_create(&ap_lua_mutex, APR_THREAD_MUTEX_DEFAULT, pool);
}
#endif
ap_lua_server_spec* sspec = NULL;
hash = apr_psprintf(r->pool, "reslist:%s", spec->file);
#if APR_HAS_THREADS
- apr_proc_mutex_lock(ap_lua_mutex);
+ apr_thread_mutex_lock(ap_lua_mutex);
#endif
if (apr_pool_userdata_get((void **)&reslist, hash,
r->server->process->pool) == APR_SUCCESS) {
}
}
#if APR_HAS_THREADS
- apr_proc_mutex_unlock(ap_lua_mutex);
+ apr_thread_mutex_unlock(ap_lua_mutex);
#endif
}
else {
#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,
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 */