Read() подождите, пока не прибудут все данныеLinux

Anonymous
Read() подождите, пока не прибудут все данные

Сообщение Anonymous »

Я новичок в Linux и хочу знать, как функция read() ждет, пока не поступят все данные. Я знаю, что использование O_NONBLOCK будет ждать, пока не поступят данные, но я хочу, чтобы read() ждал, пока не поступят все данные.
В моем случае я нужна функция чтения с тайм-аутом, например, при срабатывании функции чтения, ей нужно подождать 500 миллисекунд, если пришли данные, затем необходимо сбросить тайм-аут и снова отсчитать и так далее. когда происходит таймаут и данные не приходят в течение 500 миллисекунд, тогда остальные данные должны считаться окончательными. Возможно ли это?
Я не хотел использовать функцию сна или использования сна с тайм-аутом, если данные не получены в течение фиксированного времени

Подробнее здесь: https://stackoverflow.com/questions/786 ... -data-came

Вернуться в «Linux»