LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Записывать тоже никто не запрещает. Более того, тот же libc это делает прямо таки постоянно.

с бодуна

Это не с бодуна, а штатное её использование - вернуть код ошибки одновременно с возвратом -1 или чего-то подобного. Типа такого: errno = EINVAL; return -1;. Или такого: errno_save=errno; do_cleanup(); errno=errno_save; return -1; чтобы очистительные процедуры не испортили содержимое кода ошибки.

вполне нормально обрабатывать его внутри потока.

Уточню, что подавляющее большинство софта - синглтред. И наезды на глобальные переменные с этим никак не связаны.

Исправление firkax, :

Записывать тоже никто не запрещает. Более того, тот же libc это делает прямо таки постоянно.

с бодуна

Это не с бодуна, а штатное её использование - вернуть код ошибки одновременно с возвратом -1 или чего-то подобного. Типа такого: errno = EINVAL; return -1;. Или такого: errno_save=errno; do_cleanup(); errno=errno_save; return -1; чтобы очистительные процедуры не испортили содержимое кода ошибки.

Исправление firkax, :

Записывать тоже никто не запрещает. Более того, тот же libc это делает прямо таки постоянно.

с бодуна

Это не с бодуна, а штатное её использование. Типа такого: errno = EINVAL; return -1;. Или такого: errno_save=errno; do_cleanup(); errno=errno_save; return -1; чтобы очистительные процедуры не испортили содержимое кода ошибки.

Исходная версия firkax, :

Записывать тоже никто не запрещает. Более того, тот же libc это делает прямо таки постоянно.