NSPR блокируется с таймаутом
Я использую NSPR в качестве своей межплатформенной библиотеки потоков и использую следующие блокировки: PRLock и PRRWLock. Я хочу тайм-аут в функциях блокировки. Таким образом, он должен ждать 45 секунд, и если он не сможет получить блокировку в течение этого времени, вызов должен произойти с ошибкой.
Затем мы можем сообщить об ошибке пользователю в течение 45 секунд.
Как мне это сделать?
На самом деле я выполняю некоторые операции SQLite внутри блокировки, а иногда это занимает много времени, если база данных велика (~1,9 ГБ). Я хочу сообщить пользователю об ошибке, если блокировка не удалась. Пожалуйста помоги.
1 ответ
Я сам не использовал эту библиотеку, но у большинства ожиданий обычно есть тайм-аут.
Но, проверив документацию очень быстро, я нашел это для PRLock: "Получение блокировки не является прерываемой операцией и не имеет никакого механизма тайм-аута".