From 075465f7e7cd23b9590304f1f5498aa27706dc9d Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Sat, 25 Jan 2014 20:11:50 +0000 Subject: [PATCH] Remove wonky and unneeded code. We have access 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 | 43 ------------------------------- 1 file changed, 43 deletions(-) diff --git a/modules/slotmem/mod_slotmem_shm.c b/modules/slotmem/mod_slotmem_shm.c index 602ce23888..ff8352a3f6 100644 --- a/modules/slotmem/mod_slotmem_shm.c +++ b/modules/slotmem/mod_slotmem_shm.c @@ -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; -- 2.50.1