Когда мы пишем обработчик сигнала, который может изменить errno, должны ли мы сохранять errno в начале обработчика сигнала и восстанавливать errno в конце? Как показано ниже:
void signal_handler(int signo){
int temp_errno = errno;
*** //code here may change the errno
errno = temp_errno;
}