|
>при улёте программы, можно впасть в бесконечный цикл забивки
>области памяти >константой, например. И тот самый регистр флагов
>корректной работы будет загаживаться регулярно.
> Паранойя - скажете вы? Паранойя, отвечу я. ;О)
>Т.к. человек, делающий устойчивую вещь, обязан быть параноиком.
Эт то не паранойя, эт возможная ситуация. Кстати, уже писал об этом в субботу (132313.shtml). Все это относится к любому способу сброса собаки.
> Далее: в зависимости от структуры программы, в фоне есть место
>(одно или несколько, соотв. режимам работы), в которых программа
> обязана побывать хотя бы раз(суперцикл/ы или планировщик в ОС),
> если всё нормально(и, если она туда попала после сбоя, то результат
> сбоя может быть скорректирован/нивелирован без перезагрузки).
> Вот туда параноики и ставят сброс собаки.
Один сброс на весь суперцикл? Обычно так и делают, и это неграмотное решение. Цикл может прекрасно крутиться обрабатывая ЧАСТЬ задач. Корректный сброс ОБЯЗАН это учитывать. Если программа не совсем примитивная, придется расставлять флаги, и проверять их до сброса. А где будет стоять проверка и сброс уже без разницы. В прерывании так же хорошо как и в основном цикле.
> Резюме: бессмысленно нагружать систему ещё дополнительным
> переменным. Смысла никакого, а потенциально слабое звено добавляется.
> Штаны через голову остаются в силе ;О)
Не видите смысла в флагах и проверках? Ничего, жизнь заставит, по-другому надежного сброса не сделать. Упираться то можно долго, но выбора то нет. Правда такова: правильный сброс собаки сделать очень непросто, тут и головой подумать придется.
E-mail: info@telesys.ru