From 9e6e706323a3e230317915e1970f29b04e396eb4 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 23 Jun 2024 11:33:43 +0300 Subject: [PATCH] =?utf8?q?=D0=A1=D1=82=D0=BE=D0=BB=D1=8F=D1=80=D0=BE=D0=B2?= =?utf8?q?=20=D0=B0=20flock,=20lockf?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://www.stolyarov.info/books/pdf/progintro_e2v2.pdf В главе 7.4 про захваты на уровне файловой системы, автор отмечает, что надёжно корректно ничего из штатных средств ОС не работает. POSIX захваты привязываются к файлу↔процессу, и если кто-то в процессе закроет файл (например это сторонняя библиотека может быть), то захват будет снят. BSD flock в разных ОС может быть реализован через POSIX lockf, и поэтому заранее вы не знаете какое именно будет поведение у flock-а под другой ОС/ядром. Я когда читал про всю эту тему захватов при разработке goredo, тоже сделал такой же вывод -- всё плохо непредсказуемо. -- 2.50.0