= Сообщение: 2179 из 2735 =================================== RU.FTN.DEVELOP = От : Nil A 2:5015/46 05 Jun 23 03:55:56 Кому : Alexey Khromov 05 Jun 23 03:55:56 Тема : TOCTOU FGHI : area://RU.FTN.DEVELOP?msgid=2:5015/46+647d5374 На : area://RU.FTN.DEVELOP?msgid=2:5030/723+647cfc72 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.FTN.DEVELOP?msgid=2:5030/723+647d6638 ============================================================================== Hello, Alexey!
Sunday June 04 2023 23:44, from Alexey Khromov -> Nil A:
NA>> Для этого есть стандарты, и ещё эти комитеты, где чуваки NA>> собираются побухать. Только FTSC комитет давно уже потерял NA>> легитимность, тогда AK> Но он все же есть, и стандарты есть. Хоть какие-то)
Я бы сказал, что он был, в прошедшем времени. Сегодня он не легитимен. Хотя, я в понятиях путаюсь, он выбрал легитимно, путём голосования большинства, просто у него кнопок и рычажгов никаких нет, чтобы хоть что-то сделать. Это сборище чуваков, которые обновляют своё имя в FTA-10003, на этом их активность и заканчивается, памятник чтоли.
AK> Был бы Оберон основной осью - писали б на паскале) Шутка. Но в AK> Колибри, например, основной язык ассемблер, т.к. интерфейс системы AK> на нем.
Если бы под Андроид и Айоэс писали бы как под ПалмОС, т.е. на C++, яб написал своего хотдога. Но Палм, и Псион, и даже до небес взлетевший Симбиан, все померли. Кстати, есть версия, где пальмос на линукс-кернеле живёт, но так ни одного устройства мы и не увидели.
А померли они все, потому что есть треугольник, почти что Бермудский, где все/всё пропадает. Треугольник - быстро, дёшево, хорошо. Ах нет, не этот. Ну короче, тот, чтобы и тайм-ту-маркет был примерно три-месяца, и чтобы девелоперов было много, за три копейки, и все потом взаимозамеляемые были. Ассемблер не выдержал сразу. Си/плюсы чуть попозже тоже не выдержали.
NA>> Тебе простой вопрос, как ты будешь старые флаг-файлы чистить? Ну AK> У меня старые не остаются. Все обрабатываются.
Это называется happy path, но бывают в жизни огорчения, когда без хлеба ешь печения.
AK> При возможном сбое лишняя обработка не изменяет состояние системы, AK> флаг обрабатывается. Перед обработкой флаг переименовывается, если в AK> процессе обработки появился новый флаг - новый цикл обработки. AK> Классический конечный автомат (ака finite state machine)
Обожди с FSM своим пока. Вот ты хочешь позвонить на линк / открыть базу / запустит тоссинг / .. Ты обнаруживаешь флаг, т.е. файл на файловой системе. Ты утверждаешь, что ты переименовываешь файл (скорее всего, потому что слышал, что это атомарная операция для ОС), и дальше делешь sleep(N), и проверяешь, может там кто-то ещё создал файл флаг?
NA>> я к тому, что флаги, в качестве IPC - это тот ещё геморой. AK> Любой IPC геморрой.
С появлением много-ядер, разруливанием потоков и процессов, стало уделом не только синьёров, но и от джунов уже требуется минимальное понимание. Короче, это уже решённая задача.
AK> Можно даже в нынешние споры по этому поводу у Торвальдса погрузится, AK> он там семафоры переделал кажись, что они теперь всегда счетчиками AK> являются.
Ещё один, жертва переводных книг. В su.c_cpp только что я спойлернул эту тему. Якобы, мьютексы - это англицизм, надо говорить семафоры. Но семафоры - это такая штука, со счётчиком увнутри, а мьютекс - он просто залочка.
AK> Флаги просто более-менее универсальны и меньше зависят от особенностей AK> ОС.
Ну.. в юниксах я во флаг-файл положу pid процесса, ещё и атомарно переименую такой файл. А что в венде класть туда, я не знаю, надо вин32апи куприть.
AK>>> Где договорились? NA>> Вот, какой-то JAM-001.TXT есть, ниразу ни FTSC, ну просто они не NA>> можут А вот ещё, FSP-1037, про Squish, тоже не случился, по NA>> известной причине AK> Как видишь, это не "договорились", а рекомендация в описании формата и AK> порядка работы с базой сообщений.
Это всега были и будут рекоммендации, и даже этот HTTP/2 сегодняшний. А вот когда начёшь личнные данные хранить, или номера кредиток, тогда будут уже требования регулятора.
AK> И навряд ли эта рекомендация учитывала все файловые системы и ОСи, на AK> которых впоследствии работал этот формат.
Стандарт он такой, он должен очень обстрактно описать, чтобы, например C++ завёлся и на писюке, и на микроконтроллере, если он утверждает, что поддерживает стандарт.
Best Regards, Nil --- GoldED+/LNX 1.1.5 * Origin: Linux 2.6.32-042stab145.3 (2:5015/46) |