diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2005-10-19 12:33:58 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2005-10-19 12:33:58 +0000 |
| commit | c2068d08f097383b8eac508117e6d405627e6cef (patch) | |
| tree | 06ca21df58481e97289a566f42703102c0b6583c /src/core/ngx_times.h | |
| parent | 8743f92a1acd46c0a4b0df2bf6a80fc1b110affb (diff) | |
| download | nginx-release-0.3.3.tar.gz nginx-release-0.3.3.tar.bz2 | |
nginx-0.3.3-RELEASE importrelease-0.3.3
*) 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.
Diffstat (limited to '')
| -rw-r--r-- | src/core/ngx_times.h | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/core/ngx_times.h b/src/core/ngx_times.h index bbcb41348..6e7ab638c 100644 --- a/src/core/ngx_times.h +++ b/src/core/ngx_times.h @@ -12,40 +12,34 @@ #include <ngx_core.h> +typedef struct { + time_t sec; + ngx_uint_t msec; + ngx_int_t gmtoff; +} ngx_time_t; + + void ngx_time_init(void); -void ngx_time_update(time_t s); +void ngx_time_update(time_t sec, ngx_uint_t msec); u_char *ngx_http_time(u_char *buf, time_t t); u_char *ngx_http_cookie_time(u_char *buf, time_t t); void ngx_gmtime(time_t t, ngx_tm_t *tp); -#if (NGX_THREADS) -ngx_int_t ngx_time_mutex_init(ngx_log_t *log); -#endif - -#if (NGX_THREADS && (NGX_TIME_T_SIZE > NGX_SIG_ATOMIC_T_SIZE)) - -#define ngx_time() *ngx_cached_time -extern volatile time_t *ngx_cached_time; - -#else - -#define ngx_time() ngx_cached_time -extern volatile time_t ngx_cached_time; - -#endif +extern volatile ngx_time_t *ngx_cached_time; -extern ngx_thread_volatile ngx_str_t ngx_cached_err_log_time; -extern ngx_thread_volatile ngx_str_t ngx_cached_http_time; -extern ngx_thread_volatile ngx_str_t ngx_cached_http_log_time; +#define ngx_time() ngx_cached_time->sec +#define ngx_timeofday() (ngx_time_t *) ngx_cached_time -extern ngx_int_t ngx_gmtoff; +extern volatile ngx_str_t ngx_cached_err_log_time; +extern volatile ngx_str_t ngx_cached_http_time; +extern volatile ngx_str_t ngx_cached_http_log_time; /* * milliseconds elapsed since epoch and truncated to ngx_msec_t, * used in event timers */ -extern ngx_msec_t ngx_current_time; +extern volatile ngx_msec_t ngx_current_msec; #endif /* _NGX_TIMES_H_INCLUDED_ */ |
