Reader/write locks permit multiple readers or a single writer, but not both, to be in a critical section at one time. These locks are typically used for structures that are searched more frequently than they are modified, or when threads spend substantial time in a critical section. Users interact with reader/writer locks using the Solaris rwlock(3C) or POSIX pthread_rwlock_init(3C) interfaces.
The probes pertaining to readers/writer locks are in Table 31–2. For each probe, arg0 contains a pointer to the rwlock_t or pthread_rwlock_tstructure (these are identical types) that represents the adaptive lock. arg1 contains a boolean value that indicates whether the operation was as a writer.
Table 31.2. Readers/Writer Lock Probes
|
|
Hold event probe that fires immediately after a readers/writer lock is acquired. |
|
|
Contention event probe that fires before a thread blocks while attempting to acquire a lock. If enabled, the |
|
|
Hold event probe that fires immediately after a reader/writer lock is released |
|
|
Error event probe that fires when an error is encountered during a reader/writer lock operation. |