Какая типичная ошибка при работе с file descriptor и как ее избежать?

C/C++MiddleLinux, POSIX и системное программированиеОшибка кандидатаlinuxposix и системное программирование|файлы|file descriptor|c++|c

Что хотят услышать интервьюеры:

Частая ошибка: не различать file descriptor и FILE*, не обрабатывать EINTR/EAGAIN или путать process и thread model.

Ответ:

Как избежать: явно определить контракт: кто владеет объектом, кто освобождает ресурс, что происходит при ошибке, какие инварианты должны сохраняться.

На собеседовании: полезно назвать симптом — segfault, leak, UB, data race, deadlock, ABI break или деградация производительности.

int fd = open(path, O_RDONLY);

Источники

Похожие вопросы