File apr-proc-mutex-map-anon.patch of Package apr.12637

Index: apr-1.6.2/locks/unix/proc_mutex.c
===================================================================
--- apr-1.6.2.orig/locks/unix/proc_mutex.c
+++ apr-1.6.2/locks/unix/proc_mutex.c
@@ -435,24 +435,16 @@ static apr_status_t proc_mutex_pthread_c
                                               const char *fname)
 {
     apr_status_t rv;
-    int fd;
     pthread_mutexattr_t mattr;
 
-    fd = open("/dev/zero", O_RDWR);
-    if (fd < 0) {
-        return errno;
-    }
-
     new_mutex->os.pthread_interproc = mmap(NULL, sizeof(proc_pthread_mutex_t),
-                                           PROT_READ | PROT_WRITE, MAP_SHARED,
-                                           fd, 0); 
+                                           PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS,
+                                           -1, 0); 
     if (new_mutex->os.pthread_interproc == MAP_FAILED) {
         new_mutex->os.pthread_interproc = NULL;
         rv = errno;
-        close(fd);
         return rv;
     }
-    close(fd);
 
     new_mutex->pthread_refcounting = 1;
     new_mutex->curr_locked = -1; /* until the mutex has been created */
openSUSE Build Service is sponsored by