2009-01-22 9 views
0

J'utilise NSPR comme ma bibliothèque de threads multiplateforme et j'utilise ces verrous: PRLock et PRRWLock. Je veux un timeout dans les fonctions de verrouillage. Ainsi, il devrait attendre 45 secondes, et s'il n'est pas en mesure d'acquérir un verrou dans ce délai, l'appel devrait sortir avec une erreur. Ensuite, nous pouvons signaler une erreur à l'utilisateur dans les 45 secondes qui suivent.Verrous NSPR avec timeout

Comment puis-je le faire?

En fait, je fais une opération SQLite à l'intérieur d'un verrou, et parfois cela prend beaucoup de temps à compléter, si la base de données est grande (~ 1,9 Go). Je veux arriver à l'erreur avec l'utilisateur si l'acquisition du verrouillage échoue. S'il vous plaît aider.

Répondre

0

Je n'ai pas utilisé cette lib moi-même mais la plupart des attentes ont généralement un temps mort.

Mais comme j'ai vérifié le doc très rapidement je l'ai trouvé pour PRLock "Acquérir le verrou n'est pas une opération interruptible, ni aucun mécanisme de temporisation.".

Link