LINUX.ORG.RU

Berkeley DB && thread


0

0

Проблема с сабж. Базу изменяют два потока: один добавляет, второй удаляет. Проблема возникает достаточно недетерминировано, иногда прога подвисает при удаление, иногда вылетает при закрытии. После возникновения ошибки программа перестает работать вообще: подвисает при любой операции. Кто-нибудь сталкивался с этой проблемой.

anonymous

Re: Berkeley DB && thread

ну напиши свои lock'и или почитай, можно-ли эту BerkeleyDB
пользовать вот так просто надеясь что можно и читать и писать
в любое время, то-есть она сама блокировки обеспечивает.

anonymous ()

Re: Berkeley DB && thread

Berkeley DB обеспечивает thread-safe сама, для этого нужно задать флаг DB_THREAD, но дело не в этом. Флаг я естественно установил и все ограничения указаные в доке выполнил (транзакция не пересекает границы потока и т.д.), но проблема то возникла. Кстати блокировка вручную тоже не помогла.

anonymous ()

Re: Berkeley DB && thread

Извини, глобальных переменных у тебя нет?
Может их под мьютексы положить?

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