aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/ngx_core.h1
-rw-r--r--src/core/ngx_times.c11
2 files changed, 9 insertions, 3 deletions
diff --git a/src/core/ngx_core.h b/src/core/ngx_core.h
index 55c4147f7..2a112dded 100644
--- a/src/core/ngx_core.h
+++ b/src/core/ngx_core.h
@@ -19,6 +19,7 @@ typedef struct ngx_connection_s ngx_connection_t;
#include <ngx_time.h>
#include <ngx_socket.h>
#include <ngx_errno.h>
+#include <ngx_shared.h>
#include <ngx_process.h>
#include <ngx_thread.h>
#include <ngx_user.h>
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
index ac2a3a9db..aa461c56f 100644
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -123,16 +123,21 @@ void ngx_time_update(time_t s)
ngx_cached_http_time.data = p;
-#if (HAVE_TIMEZONE)
+#if (HAVE_GETTIMEZONE)
- ngx_gmtoff = ngx_timezone();
+ ngx_gmtoff = ngx_gettimezone();
ngx_gmtime(ngx_cached_time + ngx_gmtoff * 60, &tm);
-#else
+#elif (HAVE_GMTOFF)
ngx_localtime(&tm);
ngx_gmtoff = tm.ngx_tm_gmtoff / 60;
+#else
+
+ ngx_localtime(&tm);
+ ngx_gmtoff = ngx_timezone(tm.ngx_tm_isdst);
+
#endif