Описание тега baseband
От Брайан Хендерсон, сопровождающий обмена графическими файлами:
Я нашел и исправлена ошибка, которая вызывает этот симптом. [...] Исправления в код netpbm 10.64.02.
Разница в среде, что вызывает иногда Pnmtops повесить и иногда не имеет количество открытых файлов. Если есть более 10 открытые файлы, когда Pnmtops вызывается зависание происходит.
В случае, если вы волнует, что патология: ребенок выходит, когда труба подавая ему сигналы ВФ. Что происходит, когда каждая копия файла дескриптор для отправки конец трубы закрывается. Единственный экземпляр что должен существовать один родительский процесс записывает данные для. Но ребенок обязательно наследует копии дескрипторов файлов на обоих концах трубы. Если ребенок не закрывает свою копию отправка конец трубы, ребенка никогда не увидишь ВФ на приемном конце, так что буду ждать вечно.
Это означает, что ребенок должен закрыть свою копию отправив конца труба, которая кормит его. Для этого и исправить некоторые другие подобные проблемы, ребенка попытки запуска, чтобы закрыть каждый дескриптор файла кроме двух это на самом деле использует. Но POSIX не дает возможности для узнать список открытых файловых дескрипторов, поэтому ребенок просто слепо закрывает 0-9 (за исключением двух он должен), зная, что Pnmtops бы не использовать больше файлов, чем. Ошибка была в том, что программа не учетной записи для файловых дескрипторов процесса был рожден. Исправление для Pnmtops закрывать файловые дескрипторы 0-9, когда она начинается, так что любые трубы, она создает номера дескриптора файла в диапазоне 0-9 а значит вам закрыт слепых 0-9 рядом.