]> granicus.if.org Git - php/commitdiff
Avoid compilation of unsupported SHM backends
authorDmitry Stogov <dmitry@zend.com>
Thu, 14 Feb 2013 06:01:29 +0000 (10:01 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 14 Feb 2013 06:01:29 +0000 (10:01 +0400)
shared_alloc_mmap.c
shared_alloc_posix.c
shared_alloc_shm.c
zend_shared_alloc.c
zend_shared_alloc.h

index 7e23d4ea8d956f60bf55621a6234d3d1135f0f57..2a389c072cbe9043e27e035b31deede38b7c3aa0 100644 (file)
    +----------------------------------------------------------------------+
 */
 
+#include "zend_shared_alloc.h"
+
+#ifdef USE_MMAP
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/mman.h>
 
-#include "zend_shared_alloc.h"
-
 #if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
 # define MAP_ANONYMOUS MAP_ANON
 #endif
@@ -68,3 +70,5 @@ zend_shared_memory_handlers zend_alloc_mmap_handlers = {
        detach_segment,
        segment_type_size
 };
+
+#endif /* USE_MMAP */
index 5a0111c797a21cb2dafbd033a662a1e641a863f0..75ea176f41d49fec8b2793c415cc55751d02b8a5 100644 (file)
    +----------------------------------------------------------------------+
 */
 
+#include "zend_shared_alloc.h"
+
+#ifdef USE_SHM_OPEN
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -27,8 +31,6 @@
 #include <unistd.h>
 #include <stdlib.h>
 
-#include "zend_shared_alloc.h"
-
 typedef struct  {
     zend_shared_segment common;
     int shm_fd;
@@ -88,3 +90,5 @@ zend_shared_memory_handlers zend_alloc_posix_handlers = {
        (detach_segment_t)detach_segment,
        segment_type_size
 };
+
+#endif /* USE_SHM_OPEN */
index 45fab7c4a31935b84eb0f1d66e9cfa98ce34c9c3..9d0256e4de64af5cced6aaca1691acbf9dac44ab 100644 (file)
    +----------------------------------------------------------------------+
 */
 
+#include "zend_shared_alloc.h"
+
+#ifdef USE_SHM
+
 #if defined(__FreeBSD__)
 # include <machine/param.h>
 #endif
@@ -35,8 +39,6 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 
-#include "zend_shared_alloc.h"
-
 #ifndef MIN
 # define MIN(x, y) ((x) > (y)? (y) : (x))
 #endif
@@ -135,3 +137,5 @@ zend_shared_memory_handlers zend_alloc_shm_handlers = {
        (detach_segment_t)detach_segment,
        segment_type_size
 };
+
+#endif /* USE_SHM */
index c0024c66660f543a4a26d56e564ccb3f1c6b7e83..3b93d041618087aeab2b7eb745e602d6d64faf45 100644 (file)
@@ -58,13 +58,13 @@ static char lockfile_name[sizeof(TMP_DIR)+sizeof(SEM_FILENAME_PREFIX)+8];
 #endif
 
 static const zend_shared_memory_handler_entry handler_table[] = {
-#if USE_MMAP
+#ifdef USE_MMAP
        { "mmap", &zend_alloc_mmap_handlers },
 #endif
-#if USE_SHM
+#ifdef USE_SHM
        { "shm", &zend_alloc_shm_handlers },
 #endif
-#if USE_SHM_OPEN
+#ifdef USE_SHM_OPEN
        { "posix", &zend_alloc_posix_handlers },
 #endif
 #ifdef ZEND_WIN32
index aa615144524882fbca268000061da7e31d5b06bf..12df673cf3ce921ac02f7825f987adcb49df0d54 100644 (file)
 #define ZEND_SHARED_ALLOC_H
 
 #include "zend.h"
+#include "ZendAccelerator.h"
 
 #if defined(__APPLE__) && defined(__MACH__) /* darwin */
-# define USE_SHM_OPEN   1
-# define USE_MMAP       1
+# ifdef HAVE_SHM_MMAP_POSIX
+#  define USE_SHM_OPEN  1
+# endif
+# ifdef HAVE_SHM_MMAP_ANON
+#  define USE_MMAP      1
+# endif
 #elif defined(__linux__) || defined(_AIX)
-# define USE_SHM        1
-# define USE_MMAP       1
-#elif defined(__FreeBSD__)
-# define USE_SHM_OPEN   1
-# define USE_MMAP       1
-# define USE_SHM        1
+# ifdef HAVE_SHM_IPC
+#  define USE_SHM       1
+# endif
+# ifdef HAVE_SHM_MMAP_ANON
+#  define USE_MMAP      1
+# endif
 #elif defined(__sparc) || defined(__sun)
-# define USE_SHM_OPEN   1
-# define USE_SHM        1
+# ifdef HAVE_SHM_MMAP_POSIX
+#  define USE_SHM_OPEN  1
+# endif
+# ifdef HAVE_SHM_IPC
+#  define USE_SHM       1
+# endif
 # if defined(__i386)
+#  ifdef HAVE_SHM_MMAP_ANON
+#   define USE_MMAP     1
+#  endif
+# endif
+#else
+# ifdef HAVE_SHM_MMAP_POSIX
+#  define USE_SHM_OPEN  1
+# endif
+# ifdef HAVE_SHM_MMAP_ANON
 #  define USE_MMAP      1
 # endif
+# ifdef HAVE_SHM_IPC
+#  define USE_SHM       1
+# endif
 #endif
 
 #define ALLOC_FAILURE           0