LINUX.ORG.RU
Ответ на: комментарий от vodz

Если я правильно понимаю, unbuffer снимает буфферизацию на стороне producer-а. Я и так делаю fflush на каждый дроп данных.

Проблема в том, что nc может получать управление реже, чем в пайпе появляются новые данные, что приводит к склейке.

Mirmik
() автор топика
Ответ на: комментарий от Mirmik

Ну дайте nc приоритет реального времени...

mky ★★★★★
()
Ответ на: комментарий от Mirmik

Проблема в том, что nc может получать управление реже, чем в пайпе появляются новые данные, что приводит к склейке.

Конечно, но пайп тут не при чём. У вас два независимых процесса и если нет синхронизации, то как бы вы не обменивались данными, хоть по шареной памяти, всё равно не будет никакой гарантии, когда будет отрабатывать каждый процесс. Оно, конечно, если пайп заполнится полностью на PIPE_SIZE (обычно - страница памяти), producer будет остановлен, но это же не ваш случай. Потому надо изобретать синхронизацию: посылать сигналы (взаимно — -> пакет готов + <- давай дальше), делать фиксированный размер пакета, либо индикаторы-обрамлятели пакета.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.