на главнуюВсе эхи 715.ECHO
войти ?

Created new areas

От Michael Dukelsky (2:5020/1042) к Nil Alexandrov

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Привет, Nil!

19 Jul 17 21:47, Nil Alexandrov послал(а) письмо к Michael Dukelsky:

NA>>> Можно на временный файл напустить tparser, если он вернёт
NA>>> ошибку, то не принимать новый конфиг.
MD>> Индейская изба типа "фигвам". tparser должен видеть весь конфиг,
MD>> а не только areas. Он сразу же выдаст кучу ошибок типа "в твоём
MD>> конфиге нет такого линка!". К тому же, если команда create
MD>> создаёт неправильный файл, то это ошибка в её коде и этот код
MD>> надо исправить.

NA> Нас интересует больше возвращается ли tparser с "$? == 0", нежели сами
NA> строчки с ворнингами и ошибками. Если tparser возвращается с ошибкой,
NA> значит и обычный hpt command будет выходить с ошибкой сразу на этапе
NA> парсинга конфига.

Что-то я не понял, как tparser вернёт 0, если он нашёл ошибки в виде отсутствующих линков? Если он так делает, то это ошибка в tparser, разве нет?

NA>>> IMHO, лок можно не хватать, т.к. rename(2)
NA>>> в пределах одной файловой системы операция атомарная.
MD>> А что толку, что атомарная? Если в этот момент hpt начал запись в
MD>> этот же файл areas, но ещё не закончил, и тут мы - бац! -
MD>> заменили весь файл целиком. Стало быть, уже записанные изменения
MD>> пропадут, зато после этой замены hpt допишет оставшееся и будет
MD>> мусор вместо конфига.

NA> Скорее всего, просто пропадут изменения, которые параллельно делает
NA> сам hpt, или наши изменения будут перетёрты, если hpt сделает в конце
NA> тот же rename из своего временного в конечный, но не будет мусора.

Да, точно.

NA> Тут правильно лочить весь конфиг просто - правда.

В husky лочат не конфиг, а отдельный файл нулевой длины, в который никто не пишет. И это самое правильное.

Желаю успехов, Nil!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru

--- GoldED+/LNX 1.1.5-b20151128
* Origin: ==<<.f1042.ru.>>== (2:5020/1042)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://715.ECHO?msgid=2:5020/1042+596fb094