summaryrefslogtreecommitdiffstats
path: root/modules/slotmem
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@apache.org>2011-12-04 23:28:40 +0100
committerGraham Leggett <minfrin@apache.org>2011-12-04 23:28:40 +0100
commit9b380c98b03cdcc19814855f3241e7619aef9bd4 (patch)
treed36925edc95736a612081b94758d2e153e99f76b /modules/slotmem
parentAdd some more log message tags (diff)
downloadapache2-9b380c98b03cdcc19814855f3241e7619aef9bd4.tar.xz
apache2-9b380c98b03cdcc19814855f3241e7619aef9bd4.zip
mod_slotmem_shm: Remove the colon syntax to indicate a relative path, and
make the relative path default behaviour. Remove the word "anonymous" as a filename for special treatment, what used to be "anonymous" is now "none". git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1210261 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/slotmem')
-rw-r--r--modules/slotmem/mod_slotmem_shm.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/modules/slotmem/mod_slotmem_shm.c b/modules/slotmem/mod_slotmem_shm.c
index 2faed759d4..c14093dc46 100644
--- a/modules/slotmem/mod_slotmem_shm.c
+++ b/modules/slotmem/mod_slotmem_shm.c
@@ -119,29 +119,24 @@ static apr_status_t unixd_set_shm_perms(const char *fname)
* Persist the slotmem in a file
* slotmem name and file name.
* none : no persistent data
- * anonymous : $server_root/logs/anonymous.slotmem
- * :rel_name : $server_root/logs/rel_name.slotmem
- * abs_name : $abs_name.slotmem
+ * rel_name : $server_root/rel_name
+ * /abs_name : $abs_name
*
*/
static const char *store_filename(apr_pool_t *pool, const char *slotmemname)
{
const char *storename;
const char *fname;
- if (strcasecmp(slotmemname, "none") == 0)
+ if (strcasecmp(slotmemname, "none") == 0) {
return NULL;
- else if (strcasecmp(slotmemname, "anonymous") == 0)
- fname = ap_server_root_relative(pool, "logs/anonymous");
- else if (slotmemname[0] == ':') {
- const char *tmpname;
- tmpname = apr_pstrcat(pool, "logs/", &slotmemname[1], NULL);
- fname = ap_server_root_relative(pool, tmpname);
+ }
+ else if (slotmemname[0] != '/') {
+ fname = ap_server_root_relative(pool, slotmemname);
}
else {
fname = slotmemname;
}
- storename = apr_pstrcat(pool, fname, ".slotmem", NULL);
- return storename;
+ return fname;
}
static void store_slotmem(ap_slotmem_instance_t *slotmem)
@@ -269,14 +264,15 @@ static apr_status_t slotmem_create(ap_slotmem_instance_t **new,
(item_num * sizeof(char)) + basesize;
apr_status_t rv;
- if (gpool == NULL)
+ if (gpool == NULL) {
return APR_ENOSHMAVAIL;
+ }
if (name) {
- if (name[0] == ':') {
- fname = name;
+ if (name[0] != '/') {
+ fname = ap_server_root_relative(pool, name);
}
else {
- fname = ap_server_root_relative(pool, name);
+ fname = name;
}
/* first try to attach to existing slotmem */
@@ -295,11 +291,11 @@ static apr_status_t slotmem_create(ap_slotmem_instance_t **new,
}
}
else {
- fname = "anonymous";
+ fname = "none";
}
/* first try to attach to existing shared memory */
- fbased = (name && name[0] != ':');
+ fbased = (name != NULL);
if (fbased) {
rv = apr_shm_attach(&shm, fname, gpool);
}