LINUX.ORG.RU

локанье файлов (fcntl)


0

0

Вот такой вот вопросец - если я локаю файл при помощи fcntl, а потом делаю fork, то, следуя документации, потомок унаследует лоченье файла. А еслив они (родитель и сын) станут оба писать в тот файл? Фигня ведь получится! Или я чего-то недопонял?
И еще. Если родитель файл разлочивает, то что потомок это лоченье не потеряет?

anonymous

Locks ne nasleduetsya childom.
Esli bi eto bilo tak to poluchalos' bi paradoksal'naya
situaciya.
Dva processa imeut lock na zapis', hotya imenno FCNTL
chasto ispol'suetsya dlya sinhronizacii processov
s pomochu lock-na-zapis. Naprimer dlya critical session
(dazhe chatche chem semafori). T.e. 2 i bolee processov
ne mogut imet lock na zapis v odin i tot zhe file/area-in-file.
Eto vo-pervih.
A vo-vtorih.
Lock na file ne meshaet pisat' v etot file.
I v zalokannie oblasti v tom chisle.
FCNTL ispol'suetsya dlya syncronizacii processov
i sami processi dolznu zabotitsya proveryat lock
i ne toptat' v file. Ili ustanavlivat, lock na zapis'.
Prezhde chem pisat'.


ovsov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.