Правильно ли я понимаю, что конвейеры unix действуют именно так, как описано в книге Вирта (глава 1.7.3)? Или же есть принципиальные отличия в подходах?
Я полагал, что можно обойтись без сигналов. Наподобие этого (черновик):
## Код:
```
PROCEDURE ProcessChain (seq: StreamSequencer);
   BEGIN
      IF seq # NIL THEN
         REPEAT
            seq.processor.ReadStreamBlock; (* считываем в буфер *)
            seq.processor.ProcessStreamBlock; (*обрабатываем *)
            ProcessChain(seq.next); (* отдаём обработку следующему процессу *)
         UNTIL seq.processor.streamIn.EndOfStream(); (* пока на закончился поток у процесса *)
      END
   END ProcessChain;
```
