поддержка HTTP/1.1 для проксирования

Alexander Popkov voodoo_alex at mail.ru
Wed Dec 29 12:08:46 MSK 2004


Hello RaPaMaN,

Wednesday, December 29, 2004, 12:33:33 AM, you wrote:

R> Еще вопрос, когда я делал дебаг, привожу кусок лога:

[skipped]

R> Вот следующая строка появлется регулярно при всех запросах:

R> 2004/12/27 20:09:05 [debug] 8507#0: *1 readv() not ready (11: Resource 
R> temporarily unavailable)

R> Это нормально ? 

При non-blocking io это нормально. Просто система либо дает
прочитать/записать в сокет, либо отлуп с ошибкой
"Resource temporarily unavailable", тоесть сокет еще не готов к
операции чтения или записи, тоесть данные от клиента еще не пришли,
или буфер для передачи данных клиенту еще не освободился для следующей
порции данных. Потом просто выставляется event на этот сокет через
выбранный способ мультиплексирования, и ожидается когда система подаст
сигнал, что этот сокет уже готов к нужной операции.

А на всякий случай (вдруг когда сервер начнет обрабатывать новое
соединение, первая порция данных уже от клиента прийдет, тогда не
надо ждать пока система уведомит о готовности сокета, а можно сразу
попытаться прочесть), видимо так и сделано в nginx, просто такая
ситуация довольно редкая - вот и получается почти каждый раз отлуп.

Надеюсь не соврал, ну на это Игорь судья :)

-- 
Best regards,
 Alexander                            mailto:voodoo_alex at mail.ru






More information about the nginx-ru mailing list