diff options
author | Peter Wemm <peter@FreeBSD.org> | 2018-10-08 08:24:14 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2018-10-08 08:24:14 +0000 |
commit | f7eb533f85d0941dbf6edb3081f065e4c010b8cc (patch) | |
tree | a9a3ba945deee0800d3818a48c45323608935019 /locks/unix/global_mutex.c | |
parent | df84d2567179e9d8867957c089683d753016bd75 (diff) |
Diffstat (limited to 'locks/unix/global_mutex.c')
-rw-r--r-- | locks/unix/global_mutex.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/locks/unix/global_mutex.c b/locks/unix/global_mutex.c index 18de7e450d30c..907b5583699bb 100644 --- a/locks/unix/global_mutex.c +++ b/locks/unix/global_mutex.c @@ -15,6 +15,7 @@ */ #include "apr.h" + #include "apr_strings.h" #include "apr_arch_global_mutex.h" #include "apr_proc_mutex.h" @@ -59,7 +60,7 @@ APR_DECLARE(apr_status_t) apr_global_mutex_create(apr_global_mutex_t **mutex, } #if APR_HAS_THREADS - if (m->proc_mutex->inter_meth->flags & APR_PROCESS_LOCK_MECH_IS_GLOBAL) { + if (m->proc_mutex->meth->flags & APR_PROCESS_LOCK_MECH_IS_GLOBAL) { m->thread_mutex = NULL; /* We don't need a thread lock. */ } else { @@ -180,9 +181,24 @@ APR_DECLARE(const char *) apr_global_mutex_lockfile(apr_global_mutex_t *mutex) return apr_proc_mutex_lockfile(mutex->proc_mutex); } +APR_DECLARE(apr_lockmech_e) apr_global_mutex_mech(apr_global_mutex_t *mutex) +{ + return apr_proc_mutex_mech(mutex->proc_mutex); +} + APR_DECLARE(const char *) apr_global_mutex_name(apr_global_mutex_t *mutex) { return apr_proc_mutex_name(mutex->proc_mutex); } +APR_PERMS_SET_IMPLEMENT(global_mutex) +{ + apr_status_t rv; + apr_global_mutex_t *mutex = (apr_global_mutex_t *)theglobal_mutex; + + rv = APR_PERMS_SET_FN(proc_mutex)(mutex->proc_mutex, perms, uid, gid); + return rv; +} + APR_POOL_IMPLEMENT_ACCESSOR(global_mutex) + |