The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"read() после select()"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"read() после select()"  +1 +/
Сообщение от John Lepikhin (ok) on 01-Сен-09, 13:12 
Кусочек вывода strace:

select(1045, [16 1044], [1040], [], {0, 148319}) = 2 (in [16 1044], left {0, 148319})
read(16, 0xbf85241c, 4096)              = -1 EAGAIN (Resource temporarily unavailable)

select говорит, что на двух сокетах (16 и 1044) есть готовые данные для чтения. Сразу же после этого, из 16-го сокета пытаемся читать и получаем отказ, что данных нет. Как такое может быть?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "read() после select()"  +/
Сообщение от Vlad Lazarenko on 01-Сен-09, 16:31 
>Кусочек вывода strace:
>
>select(1045, [16 1044], [1040], [], {0, 148319}) = 2 (in [16 1044],
>left {0, 148319})
>read(16, 0xbf85241c, 4096)          
>    = -1 EAGAIN (Resource temporarily unavailable)
>
>select говорит, что на двух сокетах (16 и 1044) есть готовые данные
>для чтения. Сразу же после этого, из 16-го сокета пытаемся читать
>и получаем отказ, что данных нет. Как такое может быть?

А Вы FD_ISSET проверьте, чтобы наверняка.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "read() после select()"  +/
Сообщение от svn (??) on 02-Сен-09, 12:46 
>select говорит, что на двух сокетах (16 и 1044) есть готовые данные
>для чтения.

select говорит что операция чтения/записи не будет заблокирована! А вовсе не то что данные будут прочитаны или записаны.

В твоём случае, похоже на конец файла/закрытия сокета. То есть, select тебе предлагает прочитать, чтобы узнать что это конец.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру