]> Sergey Matveev's repositories - stargrave-blog.git/commit
Столяров а flock, lockf
authorSergey Matveev <stargrave@stargrave.org>
Sun, 23 Jun 2024 08:33:43 +0000 (11:33 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 23 Jun 2024 08:33:43 +0000 (11:33 +0300)
commit9e6e706323a3e230317915e1970f29b04e396eb4
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent81768895c53201dd862f7164ded5c7a90de6c55b
Столяров а flock, lockf

http://www.stolyarov.info/books/pdf/progintro_e2v2.pdf
В главе 7.4 про захваты на уровне файловой системы, автор отмечает, что
надёжно корректно ничего из штатных средств ОС не работает. POSIX
захваты привязываются к файлу↔процессу, и если кто-то в процессе закроет
файл (например это сторонняя библиотека может быть), то захват будет
снят. BSD flock в разных ОС может быть реализован через POSIX lockf, и
поэтому заранее вы не знаете какое именно будет поведение у flock-а под
другой ОС/ядром.

Я когда читал про всю эту тему захватов при разработке goredo, тоже
сделал такой же вывод -- всё плохо непредсказуемо.