= Сообщение: 199 из 1947 ========================================== RU.BINKD = От : Pavel Gulchouck 2:463/68 04 Aug 14 11:49:32 Кому : Alexey Vissarionov 04 Aug 14 11:49:32 Тема : коряква FGHI : area://RU.BINKD?msgid=2:463/68+53df4ff5 На : area://RU.BINKD?msgid=2:5020/545+53df3c4a = Кодировка сообщения определена как: CP866 ================================== ============================================================================== Hi Alexey!
04 Aug 14, Alexey Vissarionov ==> Pavel Gulchouck:
AV>>> Что-то мне это стадо зомбей не нравится... Кто на них wait держит?
PG>> Что держит?
AV> wait() или waitpid() AV> Зомби - это процесс, который вызвал exit(), но завершиться ему не дают.
Либо мы по-разному понимаем значение слова "держит", либо у тебя странные представления о зомби-процессах. Зомби существуют, когда родительский процесс не вызвал wait() или waitpid() после того, как ребёнок завершился. По-моему, "держит" и "не вызвал" - совсем не одно и то же.
AV> Вернулся на 1.1a-49, выставил try == 3 и hold == 15m (кстати, рекомендую к использованию в качестве значений по AV> умолчанию), потерял интерес до следующего сабжа.
Кстати, да, спасибо. Ненулевые try и hold избавляют от цикличного поллинга недоступного узла. Вполне хороший workaround.
PG>>>> Проблема в том, что sleep() в клиентменеджере прерывается сигналом PG>>>> при завершении клиента, и следующий клиент запускается раньше PG>>>> времени. Проявляется только в fork-версиях, и особенно мешает, PG>>>> когда клиент быстро завершается, не отправив почту - например, при PG>>>> connection refused. AV>>> Ууууу... совсем студенческая ошибка. PG>> Зная тебя, я как-то и не сомневался в твоей оценке. PG>> Только что ж тебе помешало её найти и дать правильный патч? ;-) AV> Если честно - лень ковыряться в коде, который мне не сильно интересен (в отличие, например, от hpt).
Если лень ковыряться, лучше ограничиться багрепортом. Неверный патч, очевидно, усложняет работу разработчика по исправлению ошибки.
PG>> Я не писал о том, что sleep() иногда возвращает значение (количество PG>> "недоспанных" секунд), иногда нет; что иногда происходит ожидание PG>> семафора, которое сигналом не прерывается; что в большинстве случаев PG>> прерывание слипа - правильное поведение, не приводящее ни к каким PG>> нежелательным последствиям, и т.д.
AV> Браво, капитан! Еще цитаты из /usr/share/man/man2/* будут?
И опять пальцем в небо. Всё процитированное является либо особенностями binkd, либо разной реализацией функции под разными платформами, и ни в каком man (и уж тем более, в man2) не описано.