ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FreeBSD & Linux disk AIO support



Igor Sysoev пишет:
Патч сейча сделать не могу, просто уберите:

         if (events == 0) {
-            ngx_log_error(NGX_LOG_ALERT, ev->log, 0,
-                          "io_getevents() did not return %uL events", ready);
             return;
         }


18446744073709551615 - это -1. Там похоже, есть небольшой race condition,
когда io_getevents() сначала возвращает на одно событие больше, чем
сообщил eventfd(), а потом - на одно событие меньше.

Вот кстати, если уж тут началось такое интенсивное использование eventfd, то почему бы семафоры (или как вы их там называете -- busy locks) не сделать на eventfd?

А именно, если завершилось получение ресурса, которого ждут запросы из другого воркера, то возобновлять их через eventfd?

--
Best regards,
Valery Kholodkov



 




Copyright © Lexa Software, 1996-2009.