LINUX.ORG.RU

Дождаться события хотя бы на одном из дескрипторов, когда их список неизвестен

 , ,


0

1

Есть процесс, который работает с графическим интерфейсом. Может быть быть в зависимости от сборки как android-процессом, так и в X11/wayland или любого другого графичкского сервера. При этом может работать с сетью и символьными устройствами напрямую.
Можно ли каким-то образом безопасно произвести select/poll по всем дескрипторам, по которым может быть произведён ввод?

★★★★★

Последнее исправление: Klymedy (всего исправлений: 1)

1. Прочитать список дескрипторов из /proc/<pid>/fd
2. Сделать обычный select/poll

Правда, не знаю, что там с андроидом.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

В принципе пойдёт.
Но тут вопрос - а что если открыт файл , который уже можно читать? Он же сразу вернётся

mittorn ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Если открыт обычный файл, то select/poll будут всегда возвращать готовность к чтению/записи.

Sorcerer ★★★★★
()
Ответ на: комментарий от mittorn

От обычных файлов и директорий можно избавиться с помощью fstat + S_ISREG/S_ISDIR

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