= Сообщение: 196 из 1947 ========================================== RU.BINKD = От : Alexey Vissarionov 2:5020/545 04 Aug 14 11:33:00 Кому : Pavel Gulchouck 04 Aug 14 11:33:00 Тема : коряква FGHI : area://RU.BINKD?msgid=2:5020/545+53df3c4a На : area://RU.BINKD?msgid=2:463/68+53dd53ca = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.BINKD?msgid=2:463/68+53df4ff5 Ответ: area://RU.BINKD?msgid=2:451/13@fidonet+53f47862 ============================================================================== Доброго времени суток, Pavel! 02 Aug 2014 23:47:32, ты -> мне:
AV>> Что-то мне это стадо зомбей не нравится... Кто на них wait держит? PG> Что держит?
wait() или waitpid() Зомби - это процесс, который вызвал exit(), но завершиться ему не дают.
AV>> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND AV>> 24675 gremlin 20 0 3712 972 620 R 99.9 0.0 2:26.26 binkd AV>> Не, это явно не релиз. PG> Понял, спасибо, буду пытаться воспроизвести у себя. PG> Откатись на 1.1a-49 или на релиз.
Вернулся на 1.1a-49, выставил try == 3 и hold == 15m (кстати, рекомендую к использованию в качестве значений по умолчанию), потерял интерес до следующего сабжа.
PG>>> Проблема в том, что sleep() в клиентменеджере прерывается сигналом PG>>> при завершении клиента, и следующий клиент запускается раньше PG>>> времени. Проявляется только в fork-версиях, и особенно мешает, PG>>> когда клиент быстро завершается, не отправив почту - например, при PG>>> connection refused. AV>> Ууууу... совсем студенческая ошибка. PG> Зная тебя, я как-то и не сомневался в твоей оценке. PG> Только что ж тебе помешало её найти и дать правильный патч? ;-)
Если честно - лень ковыряться в коде, который мне не сильно интересен (в отличие, например, от hpt).
PG> Большинство ошибок, когда их объясняешь, вполне понятны и кажутся PG> детскими (в том числе свои собственные). Любой программист это знает, PG> и потому предпочитает не высмеивать чужие ошибки. А если высмеивать - PG> нужно быть на 100% уверенным, что ты как программист как минимум на PG> две головы выше, и никогда не сделал бы ни такой ошибки, ни любой PG> другой ошибки подобного уровня.
Или, как в моем случае, наделал их еще пару десятков лет тому как, и на них научился писать правильно.
PG> Извини, но патчи, которые ты иногда предлагаешь для binkd, позволяют PG> предположить, что ты вовсе не программист, и никогда им не был.
Ваше мнение очень важно для нас ^{\tm} У меня вот тоже сформировалось устойчивое впечатление, что ты уже давно и качественно повредился на всю свою седую - и ничего, даже общаюсь с тобой.
PG> Ну и, я надеюсь, ты понимаешь, что я в своём описании сильно упростил PG> ошибку, чтобы она была понятна пользователям.
Можно было вообще назвать ее рассинхронизацией процессов - пользователям это глубоко пофигу, а специалистам точно так же ничего толком и не скажет.
PG> Я не писал о том, что sleep() иногда возвращает значение (количество PG> "недоспанных" секунд), иногда нет; что иногда происходит ожидание PG> семафора, которое сигналом не прерывается; что в большинстве случаев PG> прерывание слипа - правильное поведение, не приводящее ни к каким PG> нежелательным последствиям, и т.д.
Браво, капитан! Еще цитаты из /usr/share/man/man2/* будут?
PG> Используешь девелоперскую версию - значит, решил помогать PG> разработчикам в тестировании.
Просто знаю, что риск (прямое произведение вероятности на ущерб), создаваемый новой ошибкой, ниже, чем создаваемый неисправленной старой.
PG> Так помогай, а не оценивай уровень ошибок (не будучи при этом PG> специалистом).
Увы, я таковым являюсь. И знаю, что через стандартные ошибки при многопоточном исполнении проходят абсолютно все, а некоторые и не один раз - например, ошибки при использовании fork() и pthread_create() одни и те же, несмотря на разницу между этими двумя технологиями.
PG> За репорт спасибо.
Кушай на здоровье.
-- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii
... Если сильно упираться рогами, можно отбросить копыта --- /bin/vi * Origin: http://openwall.com/Owl/ru (2:5020/545) |