У меня есть файловый дескриптор, который открыт для чтения, который может быть неблокирующим. Что мне нужно сделать, это просто прочитать все данные до достижения EOF и записать эти данные в дескриптор файла для записи. Поскольку процесс, выполняющий это копирование, не «осведомлен» о том, что происходит вокруг, я не думаю, что могу сделать что-то полезное во время ожидания данных, и я не хочу использовать цикл while
(хотя errno
не EAGAIN
), потому что я думаю, что это было бы расточительно. Есть ли способ заблокировать или иным образом приостановить выполнение процесса копирования, пока данные не станут доступными?