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,
184 const char *instance_id,
211 const char *instance_id,
APR Global Locking Routines.
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)
void ap_mutex_init(apr_pool_t *p)
const char * ap_set_mutex(cmd_parms *cmd, void *dummy, const char *arg)
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)
const char * s
Definition: mod_dav.h:1327
apr_bucket_brigade request_rec apr_pool_t * pool
Definition: mod_dav.h:557
const char * name
Definition: mod_dav.h:805
int apr_status_t
Definition: apr_errno.h:44
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
apr_lockmech_e
Definition: apr_proc_mutex.h:46
#define AP_DECLARE(x)
Definition: macros.h:1
#define AP_CORE_DECLARE(x)
Definition: macros.h:3
#define AP_DECLARE_NONSTD(x)
Definition: macros.h:2
Definition: apr_arch_file_io.h:107
Definition: apr_arch_global_mutex.h:23
Definition: apr_arch_proc_mutex.h:27
Definition: http_config.h:288
A structure to store information for each virtual server.
Definition: httpd.h:1382