Avertissement C26110
L’appelant ne parvient pas à maintenir le verrou « lock » avant d’appeler la fonction « func ».
Lorsqu’un verrou est requis, veillez à clarifier si la fonction elle-même ou son appelant doit acquérir le verrou. Avertissement C26110 est émis en cas de violation de l’annotation _Requires_lock_held_
ou d’autres annotations liées au verrouillage. Pour plus d’informations, consultez Annoter le comportement de verrouillage
Exemple
Dans l’exemple suivant, l’avertissement C26110 est généré, car l’annotation _Requires_lock_held_
sur la fonction LockRequired
indique que l’appelant de LockRequired
doit acquérir le verrou avant d’appeler LockRequired
. Sans cette annotation, LockRequired
il faut acquérir le verrou avant d’accéder à toutes les données partagées protégées par le verrou.
typedef struct _DATA
{
CRITICAL_SECTION cs;
int d;
} DATA;
_Requires_lock_held_(p->cs)
void LockRequired(DATA* p)
{
p->d = 0;
}
void LockNotHeld(DATA* p)
{
LockRequired(p); // Warning C26110
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour