Guía de seguimiento dinámico de Solaris

Sondeos de bloqueo lector/escritor

Los bloqueos lector/escritor permiten varios lectores o un único escritor, pero no ambos, en una sección crítica simultáneamente. Estos bloqueos suelen utilizarse con estructuras que se buscan con más frecuencia que con la que se modifican, o cuando los subprocesos emplean gran cantidad de tiempo en una sección crítica. Los usuarios interactúan con los bloqueos lector/escritor mediante las interfaces Solaris rwlock(3C) o POSIX pthread_rwlock_init(3C).

Los sondeos relacionados con los bloqueos de lector/escritor se incluyen en la Tabla 31–2. Para cada sondeo, arg0 contiene un puntero a la estructura rwlock_t o pthread_rwlock_t(estos dos tipos son idénticos) que representa el bloqueo adaptativo. arg1 contiene un valor booleano que indica si la operación se realizó como escritor.

Tabla 31–2 Sondeos de bloqueo lectores/escritor

rw-acquire

Sondeo de evento de retención que se activa inmediatamente después de adquirir un bloqueo lectores/escritor. 

rw-block

Sondeo de evento de contención que se activa antes de que un subproceso se bloquee mientras está intentando adquirir un bloqueo. Si está habilitado, el sondeo rw-acquire o el sondeo rw-error se activará después de rw-block.

rw-release

Sondeo de evento de retención que se activa inmediatamente después de liberar un bloqueo lector/escritor. 

rw-error

Sondeo de evento de errores que se activa cuando se detecta un error durante una operación de bloqueo lector/escritor. arg1 es el valor errno del error detectado.