Mercurial > hg > nginx
comparison src/os/win32/ngx_time.c @ 563:9c2f3ed7a247 release-0.3.3
nginx-0.3.3-RELEASE import
*) Change: the "bl" and "af" parameters of the "listen" directive was
renamed to the "backlog" and "accept_filter".
*) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
directive.
*) Change: the "$msec" log parameter does not require now the
additional the gettimeofday() system call.
*) Feature: the -t switch now tests the "listen" directives.
*) Bugfix: if the invalid address was specified in the "listen"
directive, then after the -HUP signal nginx left an open socket in
the CLOSED state.
*) Bugfix: the mime type may be incorrectly set to default value for
index file with variable in the name; the bug had appeared in 0.3.0.
*) Feature: the "timer_resolution" directive.
*) Feature: the millisecond "$upstream_response_time" log parameter.
*) Bugfix: a temporary file with client request body now is removed
just after the response header was transferred to a client.
*) Bugfix: OpenSSL 0.9.6 compatibility.
*) Bugfix: the SSL certificate and key file paths could not be relative.
*) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
*) Bugfix: the "ssl_protocols" directive allowed to specify the single
protocol only.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 19 Oct 2005 12:33:58 +0000 |
parents | 9b8c906f6e63 |
children | 9fd2f12fee0a |
comparison
equal
deleted
inserted
replaced
562:4b6108f69026 | 563:9c2f3ed7a247 |
---|---|
6 | 6 |
7 #include <ngx_config.h> | 7 #include <ngx_config.h> |
8 #include <ngx_core.h> | 8 #include <ngx_core.h> |
9 | 9 |
10 | 10 |
11 void ngx_gettimeofday(struct timeval *tp) | 11 void |
12 ngx_gettimeofday(struct timeval *tp) | |
12 { | 13 { |
13 uint64_t intervals; | 14 uint64_t intervals; |
14 FILETIME ft; | 15 FILETIME ft; |
15 | 16 |
16 GetSystemTimeAsFileTime(&ft); | 17 GetSystemTimeAsFileTime(&ft); |
34 tp->tv_sec = (long) (intervals / 10000000); | 35 tp->tv_sec = (long) (intervals / 10000000); |
35 tp->tv_usec = (long) ((intervals % 10000000) / 10); | 36 tp->tv_usec = (long) ((intervals % 10000000) / 10); |
36 } | 37 } |
37 | 38 |
38 | 39 |
39 void ngx_libc_localtime(struct tm *tm) | 40 void |
41 ngx_libc_localtime(time_t s, struct tm *tm) | |
40 { | 42 { |
41 time_t now; | |
42 struct tm *t; | 43 struct tm *t; |
43 | 44 |
44 now = ngx_time(); | 45 t = localtime(&s); |
45 t = localtime(&now); | |
46 *tm = *t; | 46 *tm = *t; |
47 } | 47 } |
48 | 48 |
49 | 49 |
50 void ngx_libc_gmtime(struct tm *tm) | 50 void |
51 ngx_libc_gmtime(time_t s, struct tm *tm) | |
51 { | 52 { |
52 time_t now; | |
53 struct tm *t; | 53 struct tm *t; |
54 | 54 |
55 now = ngx_time(); | 55 t = gmtime(&s); |
56 t = gmtime(&now); | |
57 *tm = *t; | 56 *tm = *t; |
58 } | 57 } |
59 | 58 |
60 | 59 |
61 ngx_int_t ngx_gettimezone(void) | 60 ngx_int_t |
61 ngx_gettimezone(void) | |
62 { | 62 { |
63 TIME_ZONE_INFORMATION tz; | 63 TIME_ZONE_INFORMATION tz; |
64 | 64 |
65 if (GetTimeZoneInformation(&tz) != TIME_ZONE_ID_INVALID) { | 65 if (GetTimeZoneInformation(&tz) != TIME_ZONE_ID_INVALID) { |
66 return -tz.Bias; | 66 return -tz.Bias; |