recvmsg возвращает 'EAGAIN (Ресурс, временно недоступный)'

Я также искал что-то как этот, но ничто не обнаружилось, таким образом, я кодировал это легкое решение "softwarechannels":

https://github.com/alfem/softwarechannels

Это - очень простая система, чтобы позволить распространенный (никакой администратор) пользователи устанавливать пакеты из ограниченных каталогов.

Просто определите 'каналы' (группы пакетов) в простом текстовом файле и дайте свои пользовательские полномочия запустить softwarechannels.

Они будут только видеть пакеты в каналах, соответствующих их группам Unix.

10
20.11.2014, 01:34
2 ответа

, Когда вы читаете из сокета (или канал или другой асинхронный источник), можно выбрать то, что происходит, при отсутствии данных, сразу доступных. Любой у вас может быть чтение, ожидает, пока некоторые данные не прибывают (блокирующийся режим), или у вас может быть он возврат сразу с ошибкой (не блокирующий режим).

ошибка, которую это возвращает во втором случае, EAGAIN.

Так ошибка EAGAIN ничего действительно не говорит вам здесь. Это просто означает, что не было ничего для того recvmsg () для получения именно тогда.

12
27.01.2020, 20:02

Я получал эту ошибку, пытаясь прочитать из stdin, когда не было stdin, например. isTTYбыло ложным.

0
27.01.2020, 20:02

Теги

Похожие вопросы