чем плох assert?

Igor Sysoev is at rambler-co.ru
Wed Apr 22 10:09:12 MSD 2009


On Wed, Apr 22, 2009 at 01:18:48AM +0400, Peter Leonov wrote:

> Обратил внимание, что в исходниках nginx  
> нету ни одного ассерта.
> Объясните, пожалуйста, почему это так?

assert'ов там много, только выглядят они по-другому: проверка условия
и ngx_log_error(NGX_LOG_ALERT, ...).

Именно assert(3) плох тем, что
1) пишет в stderr просто текст,
2) потом вызывает abort(3).

Первое плохо тем, что нет контекста ошибки. Ну, а второе - не всегда
нужно прерывать исоплнение всего процесса из-за ошибки.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list