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

Created new areas

От Nil Alexandrov (2:5015/46) к Michael Dukelsky

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


Hello, Michael!

Wednesday July 19 2017 20:06, from Michael Dukelsky -> Nil Alexandrov:

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

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

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

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

Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: -=NIL BBS=- (2:5015/46)

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

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

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

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