Re: Свои счетчики - небольшой фреймвор

Alexander Bodnarashik boda2004 на gmail.com
Пн Ноя 29 18:18:47 MSK 2010


Небольшая ремарка: этот код стоит обрамить в фигурные скобки.
#define COUNTER(x) {ngx_stat_##x=(ngx_atomic_t *) (shared + index *
CACHE_LINE_SIZE); index++;}

либо еще каким-либо образом защититься от ситуации а-ля:

if (condition) COUNTER(something);

On Nov 29, 2010, at 13:55, vadlm wrote:

> Хотя топик и старый, но тема очень
> пригодилась. Спасибо.
> Правда в исходнике маленькая досадная
> ошибка в 194 строке:
> 
> #define COUNTER(x) ngx_stat_##x=(ngx_atomic_t *) (shared + index *
> CACHE_LINE_SIZE);
> 
> а надо
> 
> #define COUNTER(x) ngx_stat_##x=(ngx_atomic_t *) (shared + index *
> CACHE_LINE_SIZE); index++;
> 
> иначе всем переменным присваивается
> адрес первой переменной. все дело в 
> отсутствии index++;
> 
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,31496,154048#msg-154048
> 
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru




Подробная информация о списке рассылки nginx-ru