comparison src/core/ngx_times.h @ 112:408f195b3482 NGINX_0_3_3

nginx 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; bug 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 <http://sysoev.ru>
date Wed, 19 Oct 2005 00:00:00 +0400
parents 45f7329b4bd0
children 05981f639d21
comparison
equal deleted inserted replaced
111:a175b609c76d 112:408f195b3482
10 10
11 #include <ngx_config.h> 11 #include <ngx_config.h>
12 #include <ngx_core.h> 12 #include <ngx_core.h>
13 13
14 14
15 typedef struct {
16 time_t sec;
17 ngx_uint_t msec;
18 ngx_int_t gmtoff;
19 } ngx_time_t;
20
21
15 void ngx_time_init(void); 22 void ngx_time_init(void);
16 void ngx_time_update(time_t s); 23 void ngx_time_update(time_t sec, ngx_uint_t msec);
17 u_char *ngx_http_time(u_char *buf, time_t t); 24 u_char *ngx_http_time(u_char *buf, time_t t);
18 u_char *ngx_http_cookie_time(u_char *buf, time_t t); 25 u_char *ngx_http_cookie_time(u_char *buf, time_t t);
19 void ngx_gmtime(time_t t, ngx_tm_t *tp); 26 void ngx_gmtime(time_t t, ngx_tm_t *tp);
20 27
21 #if (NGX_THREADS)
22 ngx_int_t ngx_time_mutex_init(ngx_log_t *log);
23 #endif
24 28
25 #if (NGX_THREADS && (NGX_TIME_T_SIZE > NGX_SIG_ATOMIC_T_SIZE)) 29 extern volatile ngx_time_t *ngx_cached_time;
26 30
27 #define ngx_time() *ngx_cached_time 31 #define ngx_time() ngx_cached_time->sec
28 extern volatile time_t *ngx_cached_time; 32 #define ngx_timeofday() (ngx_time_t *) ngx_cached_time
29 33
30 #else 34 extern volatile ngx_str_t ngx_cached_err_log_time;
31 35 extern volatile ngx_str_t ngx_cached_http_time;
32 #define ngx_time() ngx_cached_time 36 extern volatile ngx_str_t ngx_cached_http_log_time;
33 extern volatile time_t ngx_cached_time;
34
35 #endif
36
37
38 extern ngx_thread_volatile ngx_str_t ngx_cached_err_log_time;
39 extern ngx_thread_volatile ngx_str_t ngx_cached_http_time;
40 extern ngx_thread_volatile ngx_str_t ngx_cached_http_log_time;
41
42 extern ngx_int_t ngx_gmtoff;
43 37
44 /* 38 /*
45 * milliseconds elapsed since epoch and truncated to ngx_msec_t, 39 * milliseconds elapsed since epoch and truncated to ngx_msec_t,
46 * used in event timers 40 * used in event timers
47 */ 41 */
48 extern ngx_msec_t ngx_current_time; 42 extern volatile ngx_msec_t ngx_current_msec;
49 43
50 44
51 #endif /* _NGX_TIMES_H_INCLUDED_ */ 45 #endif /* _NGX_TIMES_H_INCLUDED_ */