LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Убрать буферизацию можно и оставаясь с stdio-функциями, поставив в начало setbuf(stdout,NULL) либо вызывая fflush(stdout) каждый раз когда надо сбросить буфер в настоящий вывод.

Неблокирующий ввод-вывод тут ни при чём. Но он может понадобиться, если ты хочешь слать форкнутому процессу большие куски входных данных за 1 раз, а он начнёт слать ответы раньше чем всё примет и тоже большие. Не знаю может ли такое у тебя произойти, но если произойдёт - то всё зависнет. Родительский процесс будет ждать пока второй прочитает его входные данные, а тот будет пытаться послать ему ответ и тоже ждать, до чтения никто не дойдёт.

Исходная версия firkax, :

Убрать можно и оставаясь с stdio-функциями, поставив в начало setbuf(stdout,NULL) либо вызывая fflush(stdout) каждый раз когда надо сбросить буфер в настоящий вывод.

Неблокирующий ввод-вывод тут ни при чём. Но он может понадобиться, если ты хочешь слать форкнутому процессу большие куски входных данных за 1 раз, а он начнёт слать ответы раньше чем всё примет и тоже большие. Не знаю может ли такое у тебя произойти, но если произойдёт - то всё зависнет. Родительский процесс будет ждать пока второй прочитает его входные данные, а тот будет пытаться послать ему ответ и тоже ждать, до чтения никто не дойдёт.