Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.FTN.DEVELOP
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.FTN.DEVELOP с датами от 12 Jul 13 20:52:30 до 02 May 24 18:32:18, всего сообщений: 2457
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2180 из 2457 =================================== RU.FTN.DEVELOP =
От   : Alexey Khromov                   2:5030/723         05 Jun 23 07:12:32
Кому : Nil A                                               05 Jun 23 07:12:32
Тема : TOCTOU
FGHI : area://RU.FTN.DEVELOP?msgid=2:5030/723+647d6638
На   : area://RU.FTN.DEVELOP?msgid=2:5015/46+647d5374
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================
Здраствуйте, Nil!

05 июн 23 03:55, Nil A -> Alexey Khromov:


NA> Это называется happy path, но бывают в жизни огорчения, когда без
NA> хлеба ешь печения.

Согласен. Отладка по-сути идет до сих пор)
Вот кусочек лога:
----- 04.06.2023 23:30:02 -----
FLAG_TOSS TOSS LINK .
----- 05.06.2023 00:06:02 -----
SEM_ECHO .
----- 05.06.2023 00:06:02 -----
FLAG_ECHO SCAN .
----- 05.06.2023 00:10:01 -----
FLAG_TOSS TOSS LINK FLAG_ECHO SCAN .
----- 05.06.2023 00:22:01 -----
FLAG_POLL POLL .
----- 05.06.2023 00:36:01 -----
FLAG_TOSS TOSS LINK .
----- 05.06.2023 00:56:01 -----
FLAG_TOSS TOSS LINK .
----- 05.06.2023 00:58:01 -----
FLAG_TOSS TOSS LINK .
----- 05.06.2023 02:12:01 -----

NA> Обожди с FSM своим пока. Вот ты хочешь позвонить на линк / открыть
NA> базу / запустит тоссинг / .. Ты обнаруживаешь флаг, т.е. файл на
NA> файловой системе. Ты утверждаешь, что ты переименовываешь файл (скорее
NA> всего, потому что слышал, что это атомарная операция для ОС), и дальше
NA> делешь sleep(N), и проверяешь, может там кто-то ещё создал файл флаг?
Зачем же спать) Переименовал - обработал - удалил переименованное - проверил снова, что новых флагов нет (в процессе обработки могут возникнуть новые как в результате обработки, так и внешних событий). Точка ставится, когда в каталоге флагов самих флагов не осталось)

NA> понимание. Короче, это уже решённая задача.
Для программиста возможно, если он хоть чуточку воспринимает систему всю, от возможных NMI до соседнего краша процесса и отсвопленных участков кучи.

NA> Ещё один, жертва переводных книг. В su.c_cpp только что я спойлернул
Увы, до переводных книг не дошел. Просто пользуюсь Archlinux и смотрю за чейнджлогом. иногда.
А su.c_cpp подпышусь )

NA> эту тему. Якобы, мьютексы - это англицизм, надо говорить семафоры. Но
NA> семафоры - это такая штука, со счётчиком увнутри, а мьютекс - он
NA> просто залочка.
И товарищ Линус приравнял одно к другому. Точнее рекомендовал использовать семафоры с единицей, чтобы выкинуть лишнюю сущность.

AK>> Флаги просто более-менее универсальны и меньше зависят от
AK>> особенностей ОС.

NA> Ну.. в юниксах я во флаг-файл положу pid процесса, ещё и атомарно
NA> переименую такой файл. А что в венде класть туда, я не знаю, надо
В никсах touch flag создает файл нулевой длины, чего вполне хватает как флага.
pid в run-файлах нужен, чтобы кильнуть аккуратно то, что потребно без поиска по логам. СистемДы их сама для себя обычно и создает. В SystemV скриптами было тоже самое хорошим тоном. Upstart я пропустил мимо.

NA> вин32апи куприть.
В виндах то же самое

NA> будут уже требования регулятора.
152й ФЗ уже в печенках, не напоминай)

NA> Стандарт он такой, он должен очень обстрактно описать, чтобы, например
NA> C++ завёлся и на писюке, и на микроконтроллере, если он утверждает,
NA> что поддерживает стандарт.
К чему и велось. Стандарты они такие. В конкретной реализации можно подставить под некоторые особенности окружения проверки/костыли)

Alexey Khromov
--- GoldED+/LNX 1.1.5-b20230304
* Origin:  - Вы в опасности! Вы окружены роботами! -  (2:5030/723)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.112889 секунды