Ricardo M. Correia wrote:
> Ricardo M. Correia wrote:
>> boolean_t need_lock = !RW_LOCK_HELD(&dp->dp_config_rwlock);
>>
>> if (need_lock)
>>         rw_enter(&dp->dp_config_rwlock, RW_READER);
>>
> 
> Maybe I posted to soon.
> Am I right that this specific code (in dsl_dataset.c) would work 
> correctly if RW_LOCK_HELD() returned true if *another* thread is holding 
> the lock as a reader?

RW_LOCK_HELD() returns true if any thread is holding the lock no matter 
if as reader or writer.

---
frankB

Reply via email to