- 论坛徽章:
- 0
|
在文件nginx-1.2.0/src/core/ngx_times.c
中定义了 slot变量,如下:
23 static ngx_uint_t slot;
这个变量没有被初始化,就在ngx_time_update被使用了,虽然全局变量,编译器会初始化为0,但是这个习惯不好啊,这比较危险啊。
void
74 ngx_time_update(void)
75 {
76 u_char *p0, *p1, *p2, *p3;
77 ngx_tm_t tm, gmt;
78 time_t sec;
79 ngx_uint_t msec;
80 ngx_time_t *tp;
81 struct timeval tv;
82
80 ngx_time_t *tp;
81 struct timeval tv;
82
83 if (!ngx_trylock(&ngx_time_lock)) {
84 return;
85 }
86
87 ngx_gettimeofday(&tv);
88
89 sec = tv.tv_sec;
90 msec = tv.tv_usec / 1000;
91
92 ngx_current_msec = (ngx_msec_t) sec * 1000 + msec;
93
94 tp = &cached_time[slot]; |
|