История изменений
Исправление Elyas, (текущая версия) :
Нельзя рассчитывать на на определённый порядок при работе параллельных процессов в многозадачной системе. Одновременное использование одного файла(в данном случае терминала, связанного с stdout) несколькими процессами без синхронизации не может привести ни к чему хорошему.
Ну и в частности «жёлтый» может завершиться по ошибке открытия fifo, который мог ещё не успеть создать «оранжевый»
В общем нужны семафоры, циклы с ожиданием, проверками, таймауты и т.п. Без этого нельзя. Иначе программа, казалось бы отлаженная на одноядерной системе, начнёт сбоить на реально многопроцессорной или просто на иначе настроенной ОС.
Исходная версия Elyas, :
Нельзя рассчитывать на на определённый порядок при работе параллельных процессов в многозадачной системе. Одновременное использование одного файла(в данном случае терминала, связанного с stdout) несколькими процессами без синхронизации не может привести ни к чему хорошему.
Ну и в частности «жёлтый» может завершиться по ошибке открытия fifo, который мог ещё не успеть создать «оранжевый»
В общем нужны семафоры, циклы с ожиданием, проверками, таймауты и т.п. Без этого нельзя. Иначе программа, казалось бы отлаженная на на одноядерной системе, начнёт сбоить на реально многопроцессорной или просто на иначе настроенной ОС.