summaryrefslogtreecommitdiff
path: root/modules/slotmem
diff options
context:
space:
mode:
authorJim Jagielski <jim@apache.org>2013-11-17 14:22:58 +0000
committerJim Jagielski <jim@apache.org>2013-11-17 14:22:58 +0000
commitec1e7e9ca0bbfa03e61929f9e047cdee52019e8d (patch)
tree5a2bdec40fda4f4419e31d23a78ed65dd1c7eff8 /modules/slotmem
parent5c02313fb3a47510b0e099ef87b02430c174fb4f (diff)
downloadhttpd-ec1e7e9ca0bbfa03e61929f9e047cdee52019e8d.tar.gz
Handle the gugz fix in APR 1.5.1 regarding duplicate
keys. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1542732 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/slotmem')
-rw-r--r--modules/slotmem/mod_slotmem_shm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/slotmem/mod_slotmem_shm.c b/modules/slotmem/mod_slotmem_shm.c
index 1f7e557cd9..1af401503c 100644
--- a/modules/slotmem/mod_slotmem_shm.c
+++ b/modules/slotmem/mod_slotmem_shm.c
@@ -28,6 +28,8 @@
#ifdef AP_NEED_SET_MUTEX_PERMS
#include "unixd.h"
#endif
+#include "apr_version.h"
+#include "apr_hash.h"
#if APR_HAVE_UNISTD_H
#include <unistd.h> /* for getpid() */
@@ -95,7 +97,13 @@ static apr_status_t unixd_set_shm_perms(const char *fname)
key_t shmkey;
int shmid;
+#if APR_VERSION_AT_LEAST(1,5,1)
+ apr_ssize_t slen = strlen(fname);
+ shmkey = ftok(fname,
+ (int)apr_hashfunc_default(fname, &slen));
+#else
shmkey = ftok(fname, 1);
+#endif
if (shmkey == (key_t)-1) {
return errno;
}