memory checks, because Apache relies completely on APR for shared memory
support. In doing this, we also need to know how APR/MM are providing
our shared memory (ie file or memory) that requires the change made to
APR's configure script that was just committed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85501
13f79535-47bb-0310-9956-
ffa450edef68
#undef USE_MMAP_FILES
#endif
+#if APR_FILE_BASED_SHM
+#define USE_FILE_BASED_SCOREBOARD
+#else
+#define USE_MEM_BASED_SCOREBOARD
+#endif
+
#if defined(CHARSET_EBCDIC) && !defined(APACHE_XLATE)
#define APACHE_XLATE
#endif
#define NO_USE_SIGACTION
/* #undef HAVE_TIMES */
#define USE_LONGJMP
-#define USE_MMAP_SCOREBOARD
#define HAVE_CANONICAL_FILENAME
#define HAVE_DRIVE_LETTERS
#define HAVE_SENDFILE
#ifdef HAVE_SHMGET
printf(" -D HAVE_SHMGET\n");
#endif
-#ifdef USE_MMAP_SCOREBOARD
- printf(" -D USE_MMAP_SCOREBOARD\n");
+#ifdef USE_FILE_BASED_SCOREBOARD
+ printf(" -D USE_FILE_BASED_SCOREBOARD\n");
#endif
-#ifdef USE_SHMGET_SCOREBOARD
- printf(" -D USE_SHMGET_SCOREBOARD\n");
-#endif
-#ifdef USE_OS2_SCOREBOARD
- printf(" -D USE_OS2_SCOREBOARD\n");
-#endif
-#ifdef USE_POSIX_SCOREBOARD
- printf(" -D USE_POSIX_SCOREBOARD\n");
+#ifdef USE_MEM_BASED_SCOREBOARD
+ printf(" -D USE_MEM_BASED_SCOREBOARD\n");
#endif
#ifdef USE_MMAP_FILES
printf(" -D USE_MMAP_FILES\n");
APACHE_SUBST(MPM_NAME)
MODLIST="$MODLIST mpm_${MPM_NAME}"
-dnl All the unix MPMs use shared memory; save a little duplication
-AC_DEFUN(APACHE_MPM_CHECK_SHMEM, [
- AC_CHECK_FUNCS(shmget mmap)
-
- AC_MSG_CHECKING(which shared memory mechanism to use)
- if test "$ac_cv_func_shmget" = "yes" ; then
- AC_DEFINE(USE_SHMGET_SCOREBOARD,,
- [Define if MPMs should use shmget to implement their shared memory])
- AC_MSG_RESULT(shmget)
- elif test "$ac_cv_func_mmap" = "yes" ; then
- AC_DEFINE(USE_MMAP_SCOREBOARD,,
- [Define if MPMs should use mmap to implement their shared memory])
- AC_MSG_RESULT(mmap)
- else
- AC_MSG_ERROR(No known shared memory system)
- fi
-])
-
dnl Check for pthreads and attempt to support it
AC_DEFUN(APACHE_MPM_PTHREAD, [
if test "$pthreads_working" != "yes"; then
/* The generic shared memory chunk code */
void reinit_scoreboard(ap_pool_t *p);
-#if defined(USE_OS2_SCOREBOARD)
-caddr_t create_shared_heap(const char *name, size_t size);
-caddr_t get_shared_heap(const char *Name);
-#endif
API_EXPORT(void) reopen_scoreboard(ap_pool_t *p);
#include "mpm_default.h" /* For HARD_.*_LIMIT */
-/* The optimized timeout code only works if we're not using a scoreboard file
- */
-#if (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
+/*The optimized timeout code only works if we're not using a scoreboard file*/
+#if defined(USE_MEM_BASED_SCOREBOARD)
#define OPTIMIZE_TIMEOUTS
#endif
API_EXPORT(void) ap_sync_scoreboard_image(void);
void ap_mpmt_pthread_force_reset_connection_status(long conn_id);
-
-#if defined(USE_OS2_SCOREBOARD)
-caddr_t create_shared_heap(const char *name, size_t size);
-caddr_t get_shared_heap(const char *Name);
-#elif defined(USE_POSIX_SCOREBOARD)
-static void cleanup_shared_mem(void *d);
-#endif
-
API_EXPORT(void) reopen_scoreboard(ap_pool_t *p);
ap_inline void ap_sync_scoreboard_image(void);
void ap_time_process_request(int child_num, int thread_num, int status);
-
API_VAR_EXPORT extern scoreboard *ap_scoreboard_image;
API_VAR_EXPORT extern ap_generation_t volatile ap_my_generation;
/* The optimized timeout code only works if we're not using a scoreboard file
*/
-#if (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
+#if defined(USE_MEM_BASED_SCOREBOARD)
#define OPTIMIZE_TIMEOUTS
#endif
/* The optimized timeout code only works if we're not using a scoreboard file
*/
-#if (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
+#if defined(USE_MEM_BASED_SCOREBOARD)
#define OPTIMIZE_TIMEOUTS
#endif