nginx-0.0.3-2004-04-22-00:13:48 import
diff --git a/src/os/unix/ngx_time.h b/src/os/unix/ngx_time.h
index bb03e99..0b44c5a 100644
--- a/src/os/unix/ngx_time.h
+++ b/src/os/unix/ngx_time.h
@@ -35,6 +35,18 @@
 #define ngx_tm_wday_t  int
 
 
+#if (SOLARIS)
+#define HAVE_TIMEZONE  1
+
+#define ngx_timezone() (-((daylight) ? altzone : timezone) / 60)
+
+#elif defined __linux__
+#define HAVE_TIMEZONE  1
+
+#define ngx_timezone() (- timezone / 60 + daylight * 60)
+
+#endif
+
 
 void ngx_localtime(ngx_tm_t *tm);
 
diff --git a/src/os/win32/ngx_process_cycle.c b/src/os/win32/ngx_process_cycle.c
index ad5024b..fa90494 100644
--- a/src/os/win32/ngx_process_cycle.c
+++ b/src/os/win32/ngx_process_cycle.c
@@ -34,6 +34,8 @@
 
 void ngx_master_process_cycle(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx)
 {
+    ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, "master mode is not supported");
+
     exit(2);
 }
 
diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c
index 43d2c41..cef3357 100644
--- a/src/os/win32/ngx_time.c
+++ b/src/os/win32/ngx_time.c
@@ -29,3 +29,15 @@
     tp->tv_sec = (long) (intervals / 10000000);
     tp->tv_usec = (long) ((intervals % 10000000) / 10);
 }
+
+
+ngx_int_t ngx_timezone(void)
+{
+    TIME_ZONE_INFORMATION  tz;
+
+    if (GetTimeZoneInformation(&tz) != TIME_ZONE_ID_INVALID) {
+        return -tz.Bias;
+    }
+
+    return 0;
+}
diff --git a/src/os/win32/ngx_time.h b/src/os/win32/ngx_time.h
index 4bf377d..9ed94ba 100644
--- a/src/os/win32/ngx_time.h
+++ b/src/os/win32/ngx_time.h
@@ -34,7 +34,9 @@
 
 #define ngx_msleep     Sleep
 
+#define HAVE_TIMEZONE  1
 
+ngx_int_t ngx_timezone(void);
 void ngx_gettimeofday(struct timeval *tp);