]> granicus.if.org Git - apache/commitdiff
Handle the gugz fix in APR 1.5.1 regarding duplicate
authorJim Jagielski <jim@apache.org>
Sun, 17 Nov 2013 14:22:58 +0000 (14:22 +0000)
committerJim Jagielski <jim@apache.org>
Sun, 17 Nov 2013 14:22:58 +0000 (14:22 +0000)
keys.

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

modules/slotmem/mod_slotmem_shm.c

index 1f7e557cd9dc0ba681070ad24a7aa8bff14e1e86..1af401503caffa7712950d059e4e4338ce6b9e3c 100644 (file)
@@ -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;
     }