Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> блокировка доступа к файлу fcntl 
:(
    Опции темы
optix
Дата 7.12.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.9.2007

Репутация: 2
Всего: 2



Код

import fcntl, time

f = open("test", "w")
fcntl.lockf(f, fcntl.LOCK_EX)
f.write( str(time.time()) + "\n" )
time.sleep(10)
fcntl.lockf(f, fcntl.LOCK_UN)
f.close()


Запускаю это скрипт. Должна поставиться блокировка файл test на 10 сек. В это время открываю питон:
Код

>>> f=open("test")
>>> f
<open file 'test', mode 'r' at 0xb7d4d698>
>>> 

Никаких ошибок не выдает.
Блокировка не работает? Что делаю не правильно?


И второй ворос. Где можно посмотреть что означаю все эти константы? ( взято из help(fcntl) ) В документации оп питону не нашел. 
Цитата

DN_ACCESS = 1
DN_ATTRIB = 32
DN_CREATE = 4
DN_DELETE = 8
DN_MODIFY = 2
DN_MULTISHOT = -2147483648
DN_RENAME = 16
FD_CLOEXEC = 1
F_DUPFD = 0
F_EXLCK = 4
F_GETFD = 1
F_GETFL = 3
F_GETLEASE = 1025
F_GETLK = 12
F_GETLK64 = 12
F_GETOWN = 9
F_GETSIG = 11
F_NOTIFY = 1026
F_RDLCK = 0
F_SETFD = 2
F_SETFL = 4
F_SETLEASE = 1024
F_SETLK = 13
F_SETLK64 = 13
F_SETLKW = 14
F_SETLKW64 = 14
F_SETOWN = 8
F_SETSIG = 10
F_SHLCK = 8
F_UNLCK = 2
F_WRLCK = 1
I_ATMARK = 21279
I_CANPUT = 21282
I_CKBAND = 21277
I_FDINSERT = 21264
I_FIND = 21259
I_FLUSH = 21253
I_FLUSHBAND = 21276
I_GETBAND = 21278
I_GETCLTIME = 21281
I_GETSIG = 21258
I_GRDOPT = 21255
I_GWROPT = 21268
I_LINK = 21260
I_LIST = 21269
I_LOOK = 21252
I_NREAD = 21249
I_PEEK = 21263
I_PLINK = 21270
I_POP = 21251
I_PUNLINK = 21271
I_PUSH = 21250
I_RECVFD = 21262
I_SENDFD = 21265
I_SETCLTIME = 21280
I_SETSIG = 21257
I_SRDOPT = 21254
I_STR = 21256
I_SWROPT = 21267
I_UNLINK = 21261
LOCK_EX = 2
LOCK_MAND = 32
LOCK_NB = 4
LOCK_READ = 64
LOCK_RW = 192
LOCK_SH = 1
LOCK_UN = 8
LOCK_WRITE = 128

PM MAIL   Вверх
turist
Дата 7.12.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.8.2007
Где: Киев

Репутация: нет
Всего: нет



man 2 flock:
Цитата

flock - установить или снять advisory блокировку на открытый файл


Ключевое слово тут advisory, то есть никто вам никаких ошибок не выдаст, если только вы не спросите вежлово, "а можно ли мне это".

Цитата

EWOULDBLOCK
              Файл блокирован и был выбран флаг LOCK_NB

PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1272 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.