|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : yx 2:5020/400 27 Jun 2001 04:11:02 To : Vladimir Dozen Subject : Re: popa3d & flock & deliver -------------------------------------------------------------------------------- ru> <993512038.242476@ipt2.iptelecom.net.ua> ru> <slrn9ji4jd.8c.dozen@eix.do-labs.spb.ru> From: yx <yx2me@observ.univ.kiev.ua> Vladimir Dozen <dozen@osw.com.ru> wrote: >>> А ты mandatory видел где-нибудь? >> >> а далеко ходить не надо - всеми горячо любимый линукс: >> схема(mandatory/advisory) для локов определяется во время >> монтирования локальных fs. По дефолту "-o nomand" - т.е. advisory, > > Hе, это не то... я что, при запуске должен проверять, какой > там мне лок дали сегодня -- mandatory или advisory? Да еще как > проверять -- форкаться, что ли, да файл лочить? > > Я хочу какой-нибудь F_SETLK_MANDATORY, и чтобы после этого любая > попытка что-либо записать в заданный регион файла -- неважно, > aware конкурент о fcntl() или нет -- приводила бы к EACCES или > EBUSY. В линуксе так? я тутова в очередной раз покопался в линуксовых локах и чего вот нового нашел, оказывается сотворили уже bsd flock с mandatory (LOCK_MAND) ,))) при диагнозе выглядит нп так: % head -2 /proc/locks 1: FLOCK MSNFS NONE 698 03:05:38040 0 EOF c1c046dc c02cd188 c1c041d8 00000000 c1c046e8 2: FLOCK ADVISORY WRITE 354 03:05:7717 0 EOF c1c041d4 c1c046e0 c1c0417c 00000000 c1c041e0 эта схема - flock MSNFS, вместо стд ADVISORY, получена с flock(,LOCK_MAND), и соотв-й "пространный" комментарий внутри: LOCK_MAND(32) -- a `mandatory' flock. This exists to emulate Windows Share Modes. LOCK_MAND can be combined with ... p.s. что-то мне это напоминает, но.. пока сырцы остались и на том спасибо, а Вы все про шашечки хотеть да документацию ,)) bye. -- Vladimir Yakovetsky --- ifmail v.2.15dev5 * Origin: <Customer of IP Telecom Ltd.> (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/201882b490371.html, оценка из 5, голосов 10
|