From 6c604153ab38f4995238a329f67a6c389543ca7b Mon Sep 17 00:00:00 2001 From: Ryan Bloom Date: Fri, 10 Nov 2000 21:51:10 +0000 Subject: [PATCH] MM has a bug that when you ask for a specific amount of shared memory it allocates just that amount. But, MM actually uses some of it, so we need to over allocate just a bit. On 32 bit machines 40 bytes is enough, but on a 64 bit machine it isn't. So, we bump it up to 80 bytes until MM fixes this bug. Submitted by: David Hill git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86916 13f79535-47bb-0310-9956-ffa450edef68 --- server/mpm/dexter/scoreboard.c | 2 +- server/mpm/mpmt_pthread/scoreboard.c | 2 +- server/mpm/perchild/scoreboard.c | 2 +- server/mpm/prefork/prefork.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server/mpm/dexter/scoreboard.c b/server/mpm/dexter/scoreboard.c index 8630ccfb64..d640741684 100644 --- a/server/mpm/dexter/scoreboard.c +++ b/server/mpm/dexter/scoreboard.c @@ -102,7 +102,7 @@ static void setup_shared_mem(apr_pool_t *p) const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + 40, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); diff --git a/server/mpm/mpmt_pthread/scoreboard.c b/server/mpm/mpmt_pthread/scoreboard.c index 441a7c728e..9692d9bc66 100644 --- a/server/mpm/mpmt_pthread/scoreboard.c +++ b/server/mpm/mpmt_pthread/scoreboard.c @@ -105,7 +105,7 @@ static void setup_shared_mem(apr_pool_t *p) const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + NEW_SCOREBOARD_SIZE + 40, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + NEW_SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); diff --git a/server/mpm/perchild/scoreboard.c b/server/mpm/perchild/scoreboard.c index 5700349b8f..a956eda0e6 100644 --- a/server/mpm/perchild/scoreboard.c +++ b/server/mpm/perchild/scoreboard.c @@ -102,7 +102,7 @@ static void setup_shared_mem(apr_pool_t *p) const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + 40, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c index ffeefc1412..80183a8ce1 100644 --- a/server/mpm/prefork/prefork.c +++ b/server/mpm/prefork/prefork.c @@ -323,7 +323,7 @@ static void setup_shared_mem(apr_pool_t *p) const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + NEW_SCOREBOARD_SIZE + 40, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + NEW_SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); -- 2.50.1