]> granicus.if.org Git - apache/commitdiff
The Pidfile directive and ap_log_pid()/ap_remove_pid()/ap_read_pid()
authorJeff Trawick <trawick@apache.org>
Mon, 6 Aug 2012 12:15:03 +0000 (12:15 +0000)
committerJeff Trawick <trawick@apache.org>
Mon, 6 Aug 2012 12:15:03 +0000 (12:15 +0000)
now respect DefaultRuntimeDir

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1369808 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
docs/conf/extra/httpd-mpm.conf.in
docs/manual/mod/mpm_common.xml
include/ap_config.h
include/http_log.h
server/log.c
server/mpm_common.c

diff --git a/CHANGES b/CHANGES
index 16331d4606e247b7754fdfda4904003ccb3ee324..e9ebf17c76eacc08a16a9815767a1b0ff3123106 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -17,10 +17,11 @@ Changes with Apache 2.5.0
   *) mod_lua: Add new directive LuaCodeCache for controlling in-memory
      caching of lua scripts. [Daniel Gruno]
 
-  *) 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]
+  *) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
+     - APIs: ap_log_pid(), ap_remove_pid, ap_read_pid()
+     - core: the scoreboard (ScoreBoardFile) and pid file (PidFile)
+     - mod_lbmethod_heartbeat, mod_heartmonitor: heartbeat storage file
+     [Jeff Trawick]
 
   *) mod_ssl: Add RFC 5878 support. [Ben Laurie]
 
index c15c7e85da6b53e11eb05bedc058e71f18fb6a42..76d1554132e08f298b4a7c90d3692d1a5f1e7a48 100644 (file)
@@ -9,7 +9,7 @@
 # Note that this is the default PidFile for most MPMs.
 #
 <IfModule !mpm_netware_module>
-    PidFile "@rel_runtimedir@/httpd.pid"
+    PidFile "httpd.pid"
 </IfModule>
 
 #
index 197754ee6c54592128d9a57c2d904f46a545086e..4d6ecb9f95957d34b216d96a21a7e7c5f1925e07 100644 (file)
@@ -130,7 +130,7 @@ will exit.</description>
 <description>File where the server records the process ID
 of the daemon</description>
 <syntax>PidFile <var>filename</var></syntax>
-<default>PidFile logs/httpd.pid</default>
+<default>PidFile httpd.pid</default>
 <contextlist><context>server config</context></contextlist>
 <modulelist><module>event</module><module>mpm_winnt</module>
 <module>mpmt_os2</module><module>prefork</module><module>worker</module>
@@ -140,7 +140,7 @@ of the daemon</description>
     <p>The <directive>PidFile</directive> directive sets the file to
     which the server records the process id of the daemon. If the
     filename is not absolute then it is assumed to be relative to the
-    <directive module="core">ServerRoot</directive>.</p>
+    <directive module="core">DefaultRuntimeDir</directive>.</p>
 
     <example><title>Example</title>
     <highlight language="config">
index ebb8cf7c83b693739b721c59940a83ea2926038e..3bb667cdfd30997b9754ef1408c335ed560ca2ce 100644 (file)
 
 /* Where the main/parent process's pid is logged */
 #ifndef DEFAULT_PIDLOG
-#define DEFAULT_PIDLOG DEFAULT_REL_RUNTIMEDIR "/httpd.pid"
+#define DEFAULT_PIDLOG "httpd.pid"
 #endif
 
 #if defined(NETWARE)
index 77991fca7fcb4ebe21ec4dce372ae7c78274d3a0..7fc31a6f077a7c43f55642c71680c0e1ecc4bcd1 100644 (file)
@@ -569,21 +569,24 @@ AP_DECLARE(void) ap_log_command_line(apr_pool_t *p, server_rec *s);
 /**
  * Log the current pid of the parent process
  * @param p The pool to use for processing
- * @param fname The name of the file to log to
+ * @param fname The name of the file to log to.  If the filename is not
+ * absolute then it is assumed to be relative to DefaultRuntimeDir.
  */
 AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *fname);
 
 /**
  * Remove the pidfile.
  * @param p The pool to use for processing
- * @param fname The name of the pid file to remove
+ * @param fname The name of the pid file to remove.  If the filename is not
+ * absolute then it is assumed to be relative to DefaultRuntimeDir.
  */
 AP_DECLARE(void) ap_remove_pid(apr_pool_t *p, const char *fname);
 
 /**
  * Retrieve the pid from a pidfile.
  * @param p The pool to use for processing
- * @param filename The name of the file containing the pid
+ * @param filename The name of the file containing the pid.  If the filename
+ * is not absolute then it is assumed to be relative to DefaultRuntimeDir.
  * @param mypid Pointer to pid_t (valid only if return APR_SUCCESS)
  */
 AP_DECLARE(apr_status_t) ap_read_pid(apr_pool_t *p, const char *filename, pid_t *mypid);
index b33aa1fc1b98b296763ae366998fe5ce1b3e6ea5..1c9a59bb1e78db2ab3537ee59fcce332cc212355 100644 (file)
@@ -1394,7 +1394,7 @@ AP_DECLARE(void) ap_log_command_line(apr_pool_t *plog, server_rec *s)
 AP_DECLARE(void) ap_remove_pid(apr_pool_t *p, const char *rel_fname)
 {
     apr_status_t rv;
-    const char *fname = ap_server_root_relative(p, rel_fname);
+    const char *fname = ap_runtime_dir_relative(p, rel_fname);
 
     if (fname != NULL) {
         rv = apr_file_remove(fname, p);
@@ -1423,7 +1423,7 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename)
         return;
     }
 
-    fname = ap_server_root_relative(p, filename);
+    fname = ap_runtime_dir_relative(p, filename);
     if (!fname) {
         ap_log_error(APLOG_MARK, APLOG_STARTUP|APLOG_CRIT, APR_EBADPATH,
                      NULL, APLOGNO(00097) "Invalid PID file path %s, ignoring.", filename);
@@ -1476,7 +1476,7 @@ AP_DECLARE(apr_status_t) ap_read_pid(apr_pool_t *p, const char *filename,
         return APR_EGENERAL;
     }
 
-    fname = ap_server_root_relative(p, filename);
+    fname = ap_runtime_dir_relative(p, filename);
     if (!fname) {
         ap_log_error(APLOG_MARK, APLOG_STARTUP|APLOG_CRIT, APR_EBADPATH,
                      NULL, APLOGNO(00101) "Invalid PID file path %s, ignoring.", filename);
index 4448ec60dcf14bebe42b3ed45096dd3ca4fad051..e33bd11c9eb88637b79ba3aca2f8edad59999ef5 100644 (file)
@@ -307,7 +307,7 @@ const char *ap_mpm_set_pidfile(cmd_parms *cmd, void *dummy,
 void ap_mpm_dump_pidfile(apr_pool_t *p, apr_file_t *out)
 {
     apr_file_printf(out, "PidFile: \"%s\"\n",
-                    ap_server_root_relative(p, ap_pid_fname));
+                    ap_runtime_dir_relative(p, ap_pid_fname));
 }
 
 const char *ap_mpm_set_max_requests(cmd_parms *cmd, void *dummy,