История изменений
Исправление 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 это делает прямо таки постоянно.