LINUX.ORG.RU

POSIX семафор


0

0

Подскажите реализован ли сабж, если да то как им пользоваться.
Беру пример из Стивенса.
Компилится без проблем, при запуске получаю сообщение
sem_open: Function not implemented

Re: POSIX семафор

AFAIK нет в Linux POSIX semaphores... и POSIX message queues нет... ставь Solaris и забудешь про геморрой ;-)

anonymous ()

Re: POSIX семафор

Это что-то из настроек ядра. Я тут такой вопрос задавал, ответили - помогло.

binr ★★ ()

Re: POSIX семафор

реализованы в NPTL. в linuxthreads, кажется, тоже.

idle ★★★★★ ()
Ответ на: Re: POSIX семафор от anonymous

Re: Re: POSIX семафор

А вот POSIX message queues есть, в 2.6 я их видел.

KirG0FF ★★ ()

Re: POSIX семафор

Смотрю /usr/include/semaphore.h и вижу, что реализация есть.
Компиляция проходит, значит синтаксис вызова правильный.
Линкуется с ключиком -lrt. Получается, что проблема у меня
в ядре, поскольку ошибка вылазит при запуске. Смотрю конфиг
и в упор не вижу ничего кроме SYSV IPC.

Пытаюсь нагуглить решение - безуспешно. Где включаются эти
posix-семафоры в ядре?

sts ()
Ответ на: Re: POSIX семафор от binr

Re: Re: POSIX семафор

2binr

Нашёл твой пост. Там у тебя были проблемы с shm насколько я понял и семафоры не posix, а sysv? Всё-таки хочется posix-а.

sts ()

Re: POSIX семафор


То, что в системе есть соответствующие *.h файлы
еще не означает, что семафоры и очереди поддерживаются.

Наоборот - ошибка ENOSYS как раз и означает, что
функция не поддерживается.

Не знаю, как в 2.6 и NPTL, но в 2.4.x message queues
не было - были сторонние патчи разной степени кривизны.

2 OP: groups.google.com в руки.

anonymous ()
Ответ на: Re: POSIX семафор от anonymous

Re: Re: POSIX семафор

А попробуй смонтировать файловую систему tmpfs into /dev/shm. Используемые мной Posix ф-и после етого вместо возврата ENOSYS стали нормально работать.

cvv ★★★★★ ()
Ответ на: Re: Re: POSIX семафор от cvv

Re: Re: Re: POSIX семафор

2cvv

#cat /etc/fstab
...
tmpfs  /dev/shm   tmpfs   defaults   0 0
...

С shm всё в порядке - пишется, читается. А в твоём случае
posix-функции это семафоры в том числе? 

sts ()
Ответ на: Re: Re: Re: Re: POSIX семафор от sts

Re: Re: Re: Re: Re: POSIX семафор

второй раз пишу. реализованы в libpthreads,
nptl точно, в linuxthreads не знаю до какой
степени.

реализация использует SHMFS, должна быть
примонтирована.

idle ★★★★★ ()
Ответ на: Re: Re: Re: POSIX семафор от sts

Re: Re: Re: Re: POSIX семафор

Нет. Я юзал только шаренную память и поначалу встретил туже проблему. Семафоры я не юзал. Вместо них я юзал файловые блокировки так как надо было синхронизировать процессы.

cvv ★★★★★ ()
Ответ на: Re: Re: Re: Re: Re: POSIX семафор от idle

Re: Re: Re: Re: Re: Re: POSIX семафор

2idle

sem_open() точно отсутствует. Если вместо неё пользовать sem_init(),
то работает. Все функции из glibc которые есть по ссылке работают.
Остальные видимо пока ещё не реализованы. Сейчас мне этого достаточно.
Спасибо.

sts ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.