Безопасно ли использовать файловый дескриптор и связанный с ним поток FILE* одновременно?

Я пишу библиотеку сокетов C++ для управления сложностями управления системными вызовами, связанными с сокетами. Мне любопытно, есть ли какие-либо вредные побочные эффекты при создании FILE* с fdopen(3) и использовать его вместе с оригинальным файловым дескриптором клиента.

Я хотел бы иметь возможность сделать это, потому что это обеспечивает большую гибкость в возможности использовать такие вещи, как select(2) при использовании getline(3) (основная цель этого вопроса), однако я боюсь, что FILE* вызовет некоторые проблемы с утилитами, основанными на дескрипторе файла (а именно, внутренняя буферизация FILE* возиться с select(2) способность определить, есть ли данные для read(2)).

0 ответов

Другие вопросы по тегам