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_t
structure (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. |