Re: fprintf && write (resolved)
- From
- Valentin Nechayev ()
- To
- Boris Rudakov ()
- Date
- 2003-06-07T11:22:08Z
- Area
- CARBON.COPY
* Forwarded from area 'RU.UNIX.PROG'
From: Valentin Nechayev <netch@segfault.kiev.ua>
>>> Boris Rudakov wrote:
AM>> Таймаут. Дабы если у нас write() == -1 и errno == EAGAIN подождать
AM>> пока reader всосет то, что есть у ядра в буферах. Ибо есть в нашей
AM>> стране чудаки, которым дали ручку "зарезать icmp" - ну они и зарезали
AM>> все, что можно. reader умер, а icmp что host/port/net недоступны -
AM>> непришло.
BR> Чего такое "icmp" ?
Протокол ICMP из семейства TCP/IP.
AM>> Вообщем - проблема найдена и удавлена. Именно способом который
AM>> посоветовал Lev Walkin. Количество селектов упало в разы, скорость
AM>> вернулась к нормальной (той, которая была до модификации).
BR> Короче, корректный асинхронный код чтения может быть таким:
BR> while (...) {
BR> if (read(...) < 0) {
BR> if (errno != EAGAIN) return FALSE;
BR> select(...);
BR> }
BR> }
BR> Угу ?
Где-то в общем - да.
-netch-
--- ifmail v.2.15dev5
* Origin: Dark side of coredump (2:5020/400)