LINUX.ORG.RU

История изменений

Исправление unikoid, (текущая версия) :

Давно не сталкивался, но насколько я помню, это совсем не так работает.
Ты должен сделать:
1. sem_open - просто открыть семафор. Ты просто получишь дескриптор семафора, ничего больше. Флаг O_RDWR, ЕМНИП, не нужен и бесполезен, нужен O_CREATE.
2. Затем нужно сделать sem_wait, захватить семафор. Если семафор уже занят - процесс будет ждать, пока семафор освободится.
3. Затем - sem_post - отпустить семафор.
4. Удалять (sem_unlink) я бы не стал в принципе, наверное.

Исходная версия unikoid, :

Давно не сталкивался, но насколько я помню, это совсем не так работает.
Ты должен сделать:
1. sem_open - просто открыть семафор. Флаг O_RDWR, ЕМНИП, не нужен и бесполезен, нужен O_CREATE.
2. Затем нужно сделать sem_wait, захватить семафор. Если семафор уже занят - процесс будет ждать, пока семафор освободится.
3. Затем - sem_post - отпустить семафор.
4. Удалять (sem_unlink) я бы не стал в принципе, наверное.