LINUX.ORG.RU

Вопрос по использованию семафоров System V


0

0

Возникла необходимость реализовать следующую схему:

Программа передатчик -> разделяемая память -> программа приёмник.

Само собой синхронизация реализована на семафорах.
Программа приёмник должна работать следующим образом:
1) ~3 секунды висит на семафоре (semop)
2) делает некоторые опрерации, если от программы передатчика нет данных
2') если данные пришли, выполнить другие операции
3) вернуться к пункту 1)

Вопрос:
Как поставить "таймаут" для semop?


Re: Вопрос по использованию семафоров System V

забить на sysv ибо не unixway

cvv ★★★★★ ()

Re: Вопрос по использованию семафоров System V

ИМХО луче через сокеты это.

bugmaker ★★★★☆ ()

Re: Вопрос по использованию семафоров System V

Геморное какое-то решение. man socket man select

Reset ★★★★★ ()

Re: Вопрос по использованию семафоров System V

Ну вопрос о unixway и геморности к сожалению не ставится. Ибо я был поставлен перед фактом, как я должен с передатчиком общаться )))

Вроде нашёл некий semtimedop, буду с ним пробовать развлекаться.

P. S. К разрабатываемой системе предъявляются требования real-time.
А сокеты не "медленнее" разделяемой памяти? (это не утверждение :) )

ksicom ()

Re: Вопрос по использованию семафоров System V

в руках таких как ты unix-сокеты на порядок быстрее шаренной памяти.

по крайней мере пока речь не идёт о сотнях метров за транзакцию

cvv ★★★★★ ()

Re: Вопрос по использованию семафоров System V

Можно использоватать сигналы, с помощью alarm() или setitimer().

>P. S. К разрабатываемой системе предъявляются требования real-time.

Linux не Real-time ОС... (это утверждение :) )

mky ★★★★★ ()
Ответ на: Re: Вопрос по использованию семафоров System V от Valmont

Re: Вопрос по использованию семафоров System V

Я не пытаюсь начать holy-war о том, что такое настоящая RT операционная система, когда начнется рассуждение о мягкой и жесткой риалтаймовости и т.д. Просто два предложения:

>P. S. К разрабатываемой системе предъявляются требования real-time. А сокеты не "медленнее" разделяемой памяти?

создали у меня ощущение, что автор путает понятия "real-time" и "максимальная производительность".

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