From 37d741a9abef42e6802232a9f10b6360266f09c7 Mon Sep 17 00:00:00 2001
From: Jeff Trawick
Date: Sat, 4 Aug 2012 21:40:08 +0000
Subject: [PATCH] core: Respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR for
the scoreboard (ScoreBoardFile).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1369477 13f79535-47bb-0310-9956-ffa450edef68
---
CHANGES | 6 ++++--
docs/manual/mod/mpm_common.xml | 6 +++++-
include/scoreboard.h | 2 +-
server/core.c | 2 +-
server/scoreboard.c | 4 ++--
5 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/CHANGES b/CHANGES
index c2dcf95148..7b60afc4de 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,8 +14,10 @@ Changes with Apache 2.5.0
*) mod_lua: Move LUA_COMPAT_ALL into the right place, so it will
activate compatibility mode for Lua 5.2. [Daniel Gruno]
- *) mod_lbmethod_heartbeat, mod_heartmonitor: Respect DefaultRuntimeDir/
- DEFAULT_REL_RUNTIMEDIR for the heartbeat storage file. [Jeff Trawick]
+ *) core: Respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR for the
+ scoreboard (ScoreBoardFile). mod_lbmethod_heartbeat, mod_heartmonitor:
+ Respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR for the heartbeat
+ storage file. [Jeff Trawick]
*) mod_ssl: Add RFC 5878 support. [Ben Laurie]
diff --git a/docs/manual/mod/mpm_common.xml b/docs/manual/mod/mpm_common.xml
index 2ddbc8ebbd..197754ee6c 100644
--- a/docs/manual/mod/mpm_common.xml
+++ b/docs/manual/mod/mpm_common.xml
@@ -456,7 +456,7 @@ spikes
Location of the file used to store coordination data for
the child processes
ScoreBoardFile file-path
-ScoreBoardFile logs/apache_runtime_status
+ScoreBoardFile apache_runtime_status
server config
eventmpm_winnt
preforkworker
@@ -470,6 +470,10 @@ the child processes
disk (using file-based shared memory). Specifying this directive causes
Apache httpd to always create the file on the disk.
+ If file-path is not an absolute path, the location specified
+ will be relative to the value of
+ DefaultRuntimeDir.
+
Example
ScoreBoardFile /var/run/apache_runtime_status
diff --git a/include/scoreboard.h b/include/scoreboard.h
index 2fd2960e49..393cbe9f29 100644
--- a/include/scoreboard.h
+++ b/include/scoreboard.h
@@ -40,7 +40,7 @@ extern "C" {
/* Scoreboard file, if there is one */
#ifndef DEFAULT_SCOREBOARD
-#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
+#define DEFAULT_SCOREBOARD "apache_runtime_status" /* within DEFAULT_REL_RUNTIMEDIR */
#endif
/* Scoreboard info on a process is, for now, kept very brief ---
diff --git a/server/core.c b/server/core.c
index 03137577de..5d0e12d668 100644
--- a/server/core.c
+++ b/server/core.c
@@ -4799,7 +4799,7 @@ static void core_dump_config(apr_pool_t *p, server_rec *s)
tmp = s->error_fname;
apr_file_printf(out, "Main ErrorLog: \"%s\"\n", tmp);
if (ap_scoreboard_fname) {
- tmp = ap_server_root_relative(p, ap_scoreboard_fname);
+ tmp = ap_runtime_dir_relative(p, ap_scoreboard_fname);
apr_file_printf(out, "ScoreBoardFile: \"%s\"\n", tmp);
}
ap_dump_mutexes(p, s, out);
diff --git a/server/scoreboard.c b/server/scoreboard.c
index bef2b90908..67b0386c4b 100644
--- a/server/scoreboard.c
+++ b/server/scoreboard.c
@@ -217,7 +217,7 @@ static apr_status_t open_scoreboard(apr_pool_t *pconf)
/* The config says to create a name-based shmem */
if (ap_scoreboard_fname) {
/* make sure it's an absolute pathname */
- fname = ap_server_root_relative(pconf, ap_scoreboard_fname);
+ fname = ap_runtime_dir_relative(pconf, ap_scoreboard_fname);
if (!fname) {
ap_log_error(APLOG_MARK, APLOG_CRIT, APR_EBADPATH, ap_server_conf, APLOGNO(00003)
"Fatal error: Invalid Scoreboard path %s",
@@ -239,7 +239,7 @@ static apr_status_t open_scoreboard(apr_pool_t *pconf)
else if (rv == APR_ENOTIMPL) {
/* Make sure it's an absolute pathname */
ap_scoreboard_fname = DEFAULT_SCOREBOARD;
- fname = ap_server_root_relative(pconf, ap_scoreboard_fname);
+ fname = ap_runtime_dir_relative(pconf, ap_scoreboard_fname);
return create_namebased_scoreboard(global_pool, fname);
}
--
2.50.0