]> granicus.if.org Git - apache/commitdiff
Merge r1210261 from trunk:
authorJim Jagielski <jim@apache.org>
Mon, 12 Dec 2011 20:05:52 +0000 (20:05 +0000)
committerJim Jagielski <jim@apache.org>
Mon, 12 Dec 2011 20:05:52 +0000 (20:05 +0000)
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

docs/manual/mod/mod_slotmem_shm.xml
modules/slotmem/mod_slotmem_shm.c

index 0e475794d2c1515160696f5e3f9b5b419a82eeb1..7a6ed8099eff93445c6332cf18560b86ab00f8e9 100644 (file)
        <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>
index 2faed759d44e947d31cb179b46cfce264bc95250..c14093dc46e3a1cffeec73d750cbc9fddc6a8cfa 100644 (file)
@@ -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);
     }