]> granicus.if.org Git - apache/commitdiff
Break out common code to be share-able
authorJim Jagielski <jim@apache.org>
Tue, 3 Jun 2014 16:02:44 +0000 (16:02 +0000)
committerJim Jagielski <jim@apache.org>
Tue, 3 Jun 2014 16:02:44 +0000 (16:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1599641 13f79535-47bb-0310-9956-ffa450edef68

include/ap_mmn.h
include/util_time.h
server/mpm/event/event.c
server/mpm/eventopt/eventopt.c
server/mpm/prefork/prefork.c
server/mpm/worker/worker.c
server/util_time.c

index b4c33a038f829f436474f5f7dc04578671acf8ef..7ba28e13fd5552a4753b458b86222d1eddd2ef1c 100644 (file)
  * 20140207.5 (2.5.0-dev)  Add ap_mpm_resume_suspended(), AP_MPMQ_CAN_SUSPEND to
  *                         ap_mpm_query(), and suspended_baton to conn_rec
  * 20140207.6 (2.5.0-dev)  Added ap_log_common().
+ * 20140207.7 (2.5.0-dev)  Added ap_force_set_tz().
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20140207
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 6                  /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 7                  /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
index 2cd283306eb26ced3df5d8521db75b8e63af6b66..9f54c912a3f9075f2e29c4806950acde7e23ba82 100644 (file)
@@ -109,6 +109,12 @@ AP_DECLARE(apr_status_t) ap_recent_ctime_ex(char *date_str, apr_time_t t,
  */
 AP_DECLARE(apr_status_t) ap_recent_rfc822_date(char *date_str, apr_time_t t);
 
+/**
+ * Force an unset TZ to UTC
+ * @param p the pool to use
+ */
+AP_DECLARE(void) ap_force_set_tz(apr_pool_t *p);
+
 #ifdef __cplusplus
 }
 #endif
index d307abecde2dc5075421d45d9a5fce7dac31bc1d..2a7455af0241ae587082c66599e3349a660e5294 100644 (file)
@@ -57,7 +57,6 @@
 #include "apr_atomic.h"
 #define APR_WANT_STRFUNC
 #include "apr_want.h"
-#include "apr_env.h"
 
 #include "apr_version.h"
 
@@ -97,6 +96,7 @@
 #include "http_vhost.h"
 #include "unixd.h"
 #include "apr_skiplist.h"
+#include "util_time.h"
 
 #include <signal.h>
 #include <limits.h>             /* for INT_MAX */
@@ -2420,25 +2420,6 @@ static void join_start_thread(apr_thread_t * start_thread_id)
     }
 }
 
-static void force_set_tz(apr_pool_t *p) {
-    /* If the TZ variable is unset, many operationg systems,
-     * such as Linux, will at runtime read from /etc/localtime
-     * and call fstat on it.
-     *
-     * By forcing the time zone to UTC if it is unset, we gain
-     * about 2% in raw requests/second (since we format log files
-     * in the local time, if present)
-     *
-     * For more info, see:
-     *   <http://www.gnu.org/s/hello/manual/libc/TZ-Variable.html>
-     */
-    char *v = NULL;
-
-    if (apr_env_get(&v, "TZ", p) != APR_SUCCESS) {
-        apr_env_set("TZ", "UTC+0", p);
-    }
-}
-
 static void child_main(int child_num_arg)
 {
     apr_thread_t **threads;
@@ -3587,7 +3568,7 @@ static void event_hooks(apr_pool_t * p)
      */
     static const char *const aszSucc[] = { "core.c", NULL };
     one_process = 0;
-    force_set_tz(p);
+    ap_force_set_tz(p);
 
     ap_hook_open_logs(event_open_logs, NULL, aszSucc, APR_HOOK_REALLY_FIRST);
     /* we need to set the MPM state before other pre-config hooks use MPM query
index 1a4a146210ce2181f79bf4621c01cec52a7d4f76..6cd24e283af3977adf42a7d307f3081ab7512568 100644 (file)
@@ -57,7 +57,6 @@
 #include "apr_atomic.h"
 #define APR_WANT_STRFUNC
 #include "apr_want.h"
-#include "apr_env.h"
 
 #if APR_HAVE_UNISTD_H
 #include <unistd.h>
@@ -91,6 +90,7 @@
 #include "mpm_default.h"
 #include "http_vhost.h"
 #include "unixd.h"
+#include "util_time.h"
 
 #include <signal.h>
 #include <limits.h>             /* for INT_MAX */
@@ -2231,25 +2231,6 @@ static void join_start_thread(apr_thread_t * start_thread_id)
     }
 }
 
-static void force_set_tz(apr_pool_t *p) {
-    /* If the TZ variable is unset, many operationg systems,
-     * such as Linux, will at runtime read from /etc/localtime
-     * and call fstat on it.
-     *
-     * By forcing the time zone to UTC if it is unset, we gain
-     * about 2% in raw requests/second (since we format log files
-     * in the local time, if present)
-     *
-     * For more info, see:
-     *   <http://www.gnu.org/s/hello/manual/libc/TZ-Variable.html>
-     */
-    char *v = NULL;
-
-    if (apr_env_get(&v, "TZ", p) != APR_SUCCESS) {
-        apr_env_set("TZ", "UTC+0", p);
-    }
-}
-
 static void child_main(int child_num_arg)
 {
     apr_thread_t **threads;
@@ -3395,7 +3376,7 @@ static void event_hooks(apr_pool_t * p)
      */
     static const char *const aszSucc[] = { "core.c", NULL };
     one_process = 0;
-    force_set_tz(p);
+    ap_force_set_tz(p);
 
     ap_hook_open_logs(event_open_logs, NULL, aszSucc, APR_HOOK_REALLY_FIRST);
     /* we need to set the MPM state before other pre-config hooks use MPM query
index b7b3f4e26b18dd0463c8ec22b0e21a219f12c52e..beab93f6fe252a69be9062518aa59b2dd79f802b 100644 (file)
@@ -47,6 +47,7 @@
 #include "ap_listen.h"
 #include "ap_mmn.h"
 #include "apr_poll.h"
+#include "util_time.h"
 
 #include <stdlib.h>
 
@@ -1521,6 +1522,7 @@ static void prefork_hooks(apr_pool_t *p)
      * console.
      */
     static const char *const aszSucc[] = {"core.c", NULL};
+    ap_force_set_tz(p);
 
     ap_hook_open_logs(prefork_open_logs, NULL, aszSucc, APR_HOOK_REALLY_FIRST);
     /* we need to set the MPM state before other pre-config hooks use MPM query
index 07dc1f9c5aa5dcb8be52d2cf67e46737d8fcb33f..90510005d5fa55dc3cb0227ba1dc769455d0b8c8 100644 (file)
@@ -68,6 +68,7 @@
 #include "mpm_default.h"
 #include "util_mutex.h"
 #include "unixd.h"
+#include "util_time.h"
 
 #include <signal.h>
 #include <limits.h>             /* for INT_MAX */
@@ -2367,6 +2368,7 @@ static void worker_hooks(apr_pool_t *p)
      */
     static const char *const aszSucc[] = {"core.c", NULL};
     one_process = 0;
+    ap_force_set_tz(p);
 
     ap_hook_open_logs(worker_open_logs, NULL, aszSucc, APR_HOOK_REALLY_FIRST);
     /* we need to set the MPM state before other pre-config hooks use MPM query
index 3632d0d583196ed33df67f1266fd997dccbe0a9d..4e8794d19a4754399e65c8e6a1145d21273f2b38 100644 (file)
@@ -15,6 +15,8 @@
  */
 
 #include "util_time.h"
+#include "apr_env.h"
+
 
 
 /* Number of characters needed to format the microsecond part of a timestamp.
@@ -304,3 +306,22 @@ AP_DECLARE(apr_status_t) ap_recent_rfc822_date(char *date_str, apr_time_t t)
     *date_str++ = 0;
     return APR_SUCCESS;
 }
+
+AP_DECLARE(void) ap_force_set_tz(apr_pool_t *p) {
+    /* If the TZ variable is unset, many operationg systems,
+     * such as Linux, will at runtime read from /etc/localtime
+     * and call fstat on it.
+     *
+     * By forcing the time zone to UTC if it is unset, we gain
+     * about 2% in raw requests/second (since we format log files
+     * in the local time, if present)
+     *
+     * For more info, see:
+     *   <http://www.gnu.org/s/hello/manual/libc/TZ-Variable.html>
+     */
+    char *v = NULL;
+
+    if (apr_env_get(&v, "TZ", p) != APR_SUCCESS) {
+        apr_env_set("TZ", "UTC+0", p);
+    }
+}