The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Правильный способ создания lock'ов (lock)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: lock,  (найти похожие документы)
- BEST_PEOPLE (2:5077/15.22) -------------------- BEST_PEOPLE (RU.UNIX.LINUX) - From : Yuriy Kaminskiy 2:5020/517.21 12 Aug 00 21:27:22 Subj : Правильный способ создания lock'ов ------------------------------------------------------------------------------- * Forwarded from area 'RU.UNIX.LINUX' Hello, stas! >>>>> On 15:43 09/8/2000, stas%d1794n1@ekasb.sbank.e-burg.su writes: s> Hе помогает. При копировании на FAT никаких ошибок не выдается. При s> использовании inbound/outbound в qico - создаются файлы вида s> QTEMP.nnnn и все. Hеудивительно. Правильный способ создания lock'ов в *nix - это создание временного файла (tmp=tmpnam(2)), запись туда getpid(), после чего if(link(tmp,lockname)==0) { ok, locked; } else { failed to lock; } unlink(tmp); Поскольку на fat сделать link невозможно - облом. В принципе, можно a) воспользоваться umsdos, но у нее еще с 2.1.x были серьезные проблемы, по слухам, так до конца и не вылеченные. b) переписать этот код, так чтобы он пользовался open(...,O_CREAT|O_EXCL|...) - что идеологически неверно, но должно сработать. Сколько там нужно перепахать для этого - без понятия, ориентируйся на grep -w link *.[ch]. -- Yuriy Kaminskiy. ... PGP Key fingerprint = 43 6F DC 3B 23 1D CB 8E 31 64 C0 EF 78 A1 2A 0C --- Gnus v5.2.25/XEmacs 19.14 * Origin: Kyle Katan's station (2:5020/517.21@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру