LINUX.ORG.RU

Заморочки с семафорами


0

0

Hi, All Натолкнулся на неприятную ошибку при работе с семафорами.

Есть 2 демона, взаимодействующих через разд. память, доступ к блоку разд. памяти разграничивается при помощи семафоров. Код, реализующий разделение доступа к shmem, навеяный книгой Робачевского, достаточно прост и давно отлажен.

Суть проблемы: после нескольких десятков тыс. обращений к буферу, semop() возвращает ошибку ERANGE, означающую, что sem_op+semval> SEMVMX, те значение семафора превысило 32767. Утечки значений семафора не может быть однозначно, тк в таком случае оба процесса были бы просто заблокированы в ожидании его обнуления.

Что бы это значило? Не баг ли это в ядре? Ядро 2.4.17

запость какой-нить простой тест, проверю у себя на 2.4.17 Debian/woody

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