LINUX.ORG.RU

pipe


0

0

Существует ли какой-нибудь способ узнать что на другой стороне

закрыли pipe? Т.е. если я буду туда писать, то получу SIGPIPE,

а если я зхахочу читать оттуда, или сделать poll/select?

anonymous

select выберет канал для чтения (как бы, есть данные), а read
вернет 0.

vnp
()

Ага! Попробую, а вот poll не хочет выбирать такой канал

для чтения.

anonymous
()

Ага! Попробую, а вот poll не хочет выбирать такой канал

для чтения.

anonymous
()

ты в курсе что select() сделан через poll() ? :)

lg ★★
()

нет, не в курсе, а как?
и как добились разного поведения?
IMHO скорее уж select через poll.

anonymous
()

Вот выяснил -- для write fd poll устанавливает POLLERR,
а для read fd POLLHUP.
select deprecated, IMHO

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.