The OpenNET Project / Index page

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

Реализация readers/writers lock на семаформах (lock)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: lock,  (найти похожие документы)
Date: Wed, 28 Nov 2001 13:51:23 +0300 From: Евгений Hепомнящий <Евгений.Hепомнящий@f6.n5032.z2.fidonet.org> Newsgroups: fido7.ru.unix.prog Subject: Реализация readers/writers lock на семаформах > Hа тех, которые SysV. Читать могут многие сразу, а вот писать -- только > один, и когда никто не читает... Я сделал так: num_readers = XXXX; semctl( semid, semnum, SETVAL, num_readers ) READER просит чтение так: struct sembuf sembuf; sembuf.sem_num = semnum; sembuf.sem_op = -1; sembuf.sem_flg = 0; semop( semid, &sembuf, 1 ); WRITER просит так же, но вместо sembuf.sem_op = -1; он вызывает sembuf.sem_op = -num_readers; ясно что я подразумеваю, что при форках например и SIGCHLD num_readers меняется, поэтому у меня эта переменная в mapped memory mmap(2)

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

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




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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