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