Я пишу модуль, который экспортирует интерфейс, аналогичный send
и recv
.
Поскольку предполагается, что эти функции должны возвращать соответственно количество отправленных и полученных байтов, я не могу сделать надлежащее управление ошибками, как я это делал бы обычно (т. Е. Используя перечислительные и возвращая мнемонические значения).
В такой ситуации я должен установить errno
как стандартная библиотека? Если это так, поскольку errno
является специфичным для потока, существует ли особый способ записи на него или я могу просто присвоить ему значение?
Редактировать: экспериментируя, я заметил, что настройка errno
по назначению работает. Тем не менее: это безопасно и портативно для любой системы?