Manuel de suivi dynamique Solaris

Sondes de verrouillage en lecture/écriture

Les verrouillages en lecture/écriture autorisent plusieurs lecteurs ou un seul rédacteur, mais pas les deux, dans une section critique en même temps. Ces verrous sont généralement utilisés pour les structures plus fréquemment recherchées que modifiées, ou lorsque des threads prennent du temps dans une section critique. Les utilisateurs interagissent avec des verrous en lecture/écriture à l'aide des interfaces Solaris rwlock(3C) ou POSIX pthread_rwlock_init(3C).

Les sondes appartenant à des verrouillages en lecture/écriture sont répertoriées dans le Tableau 31–2 Pour chaque sonde, arg0 contient un pointeur vers la structure rwlock_t ou pthread_rwlock_t (il s'agit de types identiques) représentant le verrou adaptatif. arg1 contient une valeur booléenne indiquant si l'opération concerne un rédacteur.

Tableau 31–2 Sondes de verrouillage en lecture/écriture

rw-acquire

Sonde d'événement de maintien se déclenchant immédiatement après l'acquisition d'un verrou en lecture/écriture. 

rw-block

Sonde d'événement de contention se déclenchant avant qu'un thread ne bloque pendant une tentative d'acquisition de verrou. Si activée, la sonde rw-acquire ou la sonde rw-error est déclenchée après rw-block.

rw-release

Sonde d'événement de maintien se déclenchant immédiatement après la libération d'un verrou en lecture/écriture. 

rw-error

Sonde d'événement d'erreur se déclenchant lorsqu'une erreur est rencontrée lors d'une opération de verrouillage en lecture/écriture. arg1 est la valeur errno de l'erreur rencontrée.