]> granicus.if.org Git - apache/commitdiff
Remove wonky and unneeded code. We have access
authorJim Jagielski <jim@apache.org>
Sat, 25 Jan 2014 20:11:50 +0000 (20:11 +0000)
committerJim Jagielski <jim@apache.org>
Sat, 25 Jan 2014 20:11:50 +0000 (20:11 +0000)
cross forks, so child processes have access.

When we need true external access, this is something
that APR shm must provide. We should have no
knowledge of APR internals.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1561385 13f79535-47bb-0310-9956-ffa450edef68

modules/slotmem/mod_slotmem_shm.c

index 602ce2388829edd4edc3c36eae4d6240b6703be1..ff8352a3f67e1b15c2198218c78c3cd493e4c940 100644 (file)
@@ -88,40 +88,6 @@ static apr_pool_t *gpool = NULL;
 #define DEFAULT_SLOTMEM_SUFFIX ".shm"
 #define DEFAULT_SLOTMEM_PERSIST_SUFFIX ".persist"
 
-/* apr:shmem/unix/shm.c */
-static apr_status_t unixd_set_shm_perms(const char *fname)
-{
-#ifdef AP_NEED_SET_MUTEX_PERMS
-#if APR_USE_SHMEM_SHMGET || APR_USE_SHMEM_SHMGET_ANON
-    struct shmid_ds shmbuf = { { 0 } };
-    key_t shmkey;
-    int shmid;
-
-    shmkey = ftok(fname, 1);
-    if (shmkey == (key_t)-1) {
-        return errno;
-    }
-    if ((shmid = shmget(shmkey, 0, SHM_R | SHM_W)) == -1) {
-        return errno;
-    }
-#if MODULE_MAGIC_NUMBER_MAJOR <= 20081212
-#define ap_unixd_config unixd_config
-#endif
-    shmbuf.shm_perm.uid  = ap_unixd_config.user_id;
-    shmbuf.shm_perm.gid  = ap_unixd_config.group_id;
-    shmbuf.shm_perm.mode = 0600;
-    if (shmctl(shmid, IPC_SET, &shmbuf) == -1) {
-        return errno;
-    }
-    return APR_SUCCESS;
-#else
-    return APR_ENOTIMPL;
-#endif
-#else
-    return APR_ENOTIMPL;
-#endif
-}
-
 /*
  * Persist the slotmem in a file
  * slotmem name and file name.
@@ -413,15 +379,6 @@ static apr_status_t slotmem_create(ap_slotmem_instance_t **new,
         if (rv != APR_SUCCESS) {
             return rv;
         }
-        if (fbased) {
-            /* Set permissions to shared memory
-             * so it can be attached by child process
-             * having different user credentials
-             *
-             * See apr:shmem/unix/shm.c
-             */
-            unixd_set_shm_perms(fname);
-        }
         ptr = (char *)apr_shm_baseaddr_get(shm);
         desc.size = item_size;
         desc.num = item_num;