Я думал, kevent() может вернуть эту странную и неверную для данной ситуации
ошибку ("Operation timed out") только на 6.0, а, оказывается, она была
уже на 5.х.
Совершенно точно, FreeBSD 5.4.
А если приложить вот этот патч, какая будет ошибка ?
----------------------
--- src/os/unix/ngx_recv.c Tue Aug 30 12:31:24 2005
+++ src/os/unix/ngx_recv.c Wed Nov 23 16:10:37 2005
@@ -29,7 +29,8 @@
rev->ready = 0;
rev->eof = 1;
- if (rev->kq_errno) {
+ /* FreeBSD 5.x-6.x may erroneously report ETIMEDOUT */
+ if (rev->kq_errno && rev->kq_errno != NGX_ETIMEDOUT) {
rev->error = 1;
ngx_set_socket_errno(rev->kq_errno);
----------------------
Игорь Сысоев
http://sysoev.ru