Что должен делать select, если вы закрываете контролируемый fd? - PullRequest
2 голосов
/ 07 октября 2010

Я могу проверить это, чтобы найти поведение, но это не главное.В моем ответе на другой вопрос, комментатор рекомендовал закрыть отслеживаемый fd из другого потока, чтобы разбудить select.Другой комментатор не смог найти ссылку на это поведение в стандарте, и я тоже не могу его найти.

Может ли кто-нибудь предоставить указатель на стандарт по этому поведению?

1 Ответ

2 голосов
/ 25 марта 2011

Из описания выберите в «Открытых групповых спецификациях, выпуск 7»:

Дескриптор должен считаться готовым к чтению, когда вызов функции ввода с O_NONBLOCK clear не будет блокировать, независимо от того, будет ли функция успешно передавать данные. (Функция может возвращать данные, указание конца файла или ошибку, отличную от той, которая указывает на то, что она заблокирована, и в каждом из этих случаев дескриптор считается готовым к чтению.)

Итак, я бы сказал, что этот метод является переносимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...