Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.191.94] |
|
Сообщ.
#1
,
|
|
|
Народ, подскажите как блокировать файл целиком на чтение и на запись, а так-же проверять наличие блокировки и ждать пока она не будет снята. Наподобе как это делаеться в perl:
use Fcntl qw(:flock); sub getlock { open(SEM, ">lock"); flock(SEM, LOCK_EX); } sub unlock { close(SEM); } getlock() - блокирует файл unlock() - разблокирует его Сэнкс! |
Сообщ.
#2
,
|
|
|
Открой его с помощью CreateFile с dwShareMode = 0, или, как вариант использовать LockFileEx()...
|
Сообщ.
#3
,
|
|
|
Сэнкс, но помоему это чисто виндовые функции, а как это в *nix организовать?
|
Сообщ.
#4
,
|
|
|
fcntl с аргументом F_SETLK или F_SETLKW.
|
Сообщ.
#5
,
|
|
|
Цитата trainer,7.02.04, 16:33 fcntl с аргументом F_SETLK или F_SETLKW. Cэнкс! F_SETLKW - это то, что надо! Сам я когда ман по fcntl читал этот аргумент пропустил... |