33#if APR_HAS_FLOCK_SERIALIZE
34# define AP_LIST_FLOCK_SERIALIZE ", 'flock:/path/to/file'"
36# define AP_LIST_FLOCK_SERIALIZE
38#if APR_HAS_FCNTL_SERIALIZE
39# define AP_LIST_FCNTL_SERIALIZE ", 'fcntl:/path/to/file'"
41# define AP_LIST_FCNTL_SERIALIZE
43#if APR_HAS_SYSVSEM_SERIALIZE
44# define AP_LIST_SYSVSEM_SERIALIZE ", 'sysvsem'"
46# define AP_LIST_SYSVSEM_SERIALIZE
48#if APR_HAS_POSIXSEM_SERIALIZE
49# define AP_LIST_POSIXSEM_SERIALIZE ", 'posixsem'"
51# define AP_LIST_POSIXSEM_SERIALIZE
53#if APR_HAS_PROC_PTHREAD_SERIALIZE
54# define AP_LIST_PTHREAD_SERIALIZE ", 'pthread'"
56# define AP_LIST_PTHREAD_SERIALIZE
58#if APR_HAS_FLOCK_SERIALIZE || APR_HAS_FCNTL_SERIALIZE
59# define AP_LIST_FILE_SERIALIZE ", 'file:/path/to/file'"
61# define AP_LIST_FILE_SERIALIZE
63#if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_POSIXSEM_SERIALIZE
64# define AP_LIST_SEM_SERIALIZE ", 'sem'"
66# define AP_LIST_SEM_SERIALIZE
69#define AP_ALL_AVAILABLE_MUTEXES_STRING \
70 "Mutex mechanisms are: 'none', 'default'" \
71 AP_LIST_FLOCK_SERIALIZE AP_LIST_FCNTL_SERIALIZE \
72 AP_LIST_FILE_SERIALIZE AP_LIST_PTHREAD_SERIALIZE \
73 AP_LIST_SYSVSEM_SERIALIZE AP_LIST_POSIXSEM_SERIALIZE \
76#define AP_AVAILABLE_MUTEXES_STRING \
77 "Mutex mechanisms are: 'default'" \
78 AP_LIST_FLOCK_SERIALIZE AP_LIST_FCNTL_SERIALIZE \
79 AP_LIST_FILE_SERIALIZE AP_LIST_PTHREAD_SERIALIZE \
80 AP_LIST_SYSVSEM_SERIALIZE AP_LIST_POSIXSEM_SERIALIZE \
100 const char **mutexfile);
113#define AP_MUTEX_ALLOW_NONE 1
116#define AP_MUTEX_DEFAULT_NONE 2
158 const char *default_dir,
160 apr_int32_t options);
184 const char *instance_id,
187 apr_int32_t options);
211 const char *instance_id,
214 apr_int32_t options);
#define AP_DECLARE_NONSTD(type)
APR Global Locking Routines.
static apr_pool_t * pconf
apr_status_t ap_global_mutex_create(apr_global_mutex_t **mutex, const char **name, const char *type, const char *instance_id, server_rec *server, apr_pool_t *pool, apr_int32_t options)
apr_status_t ap_proc_mutex_create(apr_proc_mutex_t **mutex, const char **name, const char *type, const char *instance_id, server_rec *server, apr_pool_t *pool, apr_int32_t options)
apr_status_t ap_parse_mutex(const char *arg, apr_pool_t *pool, apr_lockmech_e *mutexmech, const char **mutexfile)
const char * ap_set_mutex(cmd_parms *cmd, void *dummy, const char *arg)
void ap_mutex_init(apr_pool_t *p)
apr_status_t ap_mutex_register(apr_pool_t *pconf, const char *type, const char *default_dir, apr_lockmech_e default_mech, apr_int32_t options)
void ap_dump_mutexes(apr_pool_t *p, server_rec *s, apr_file_t *out)
apr_memcache_server_t * server
const char int apr_pool_t * pool
A structure to store information for each virtual server.