diff options
author | Jim Jagielski <jim@apache.org> | 2011-12-12 20:05:52 +0000 |
---|---|---|
committer | Jim Jagielski <jim@apache.org> | 2011-12-12 20:05:52 +0000 |
commit | 137ace1c41b5e8f4b8fd66777a8a469d8402550c (patch) | |
tree | af46a0367551c99dfd6c41d881e47c45fb2b1472 | |
parent | 9fe3c24de9ecbf5ec1be72bc4c189c7e5f70a087 (diff) | |
download | httpd-137ace1c41b5e8f4b8fd66777a8a469d8402550c.tar.gz |
Merge r1210261 from trunk:
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".
Submitted by: minfrin
Reviewed/backported by: jim
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1213401 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | docs/manual/mod/mod_slotmem_shm.xml | 10 | ||||
-rw-r--r-- | modules/slotmem/mod_slotmem_shm.c | 32 |
2 files changed, 18 insertions, 24 deletions
diff --git a/docs/manual/mod/mod_slotmem_shm.xml b/docs/manual/mod/mod_slotmem_shm.xml index 0e475794d2..7a6ed8099e 100644 --- a/docs/manual/mod/mod_slotmem_shm.xml +++ b/docs/manual/mod/mod_slotmem_shm.xml @@ -54,12 +54,10 @@ <dl> <dt><code>"none"</code></dt> <dd><code>Does not persist shared memory in file.</code></dd> - <dt><code>"anonymous"</code></dt> - <dd><code>$server_root/logs/anonymous.slotmem</code></dd> - <dt><code>":file-name"</code></dt> - <dd><code>$server_root/logs/file-name.slotmem</code></dd> - <dt><code>"absolute-file-name"</code></dt> - <dd><code>$absolute-file-name.slotmem</code></dd> + <dt><code>"file-name"</code></dt> + <dd><code>$server_root/file-name</code></dd> + <dt><code>"/absolute-file-name"</code></dt> + <dd><code>$absolute-file-name</code></dd> </dl></dd> <dt>apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)</dt> 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); } |