使用 rw_tryrdlock(3C) 可以尝试获取 rwlp 所指向的读写锁中的读锁。
#include <synch.h> (或 #include <thread.h>) int rw_tryrdlock(rwlock_t *rwlp);
如果读写锁中的写锁已经锁定,则 rw_tryrdlock() 将返回错误。否则,将获取读锁。对于 POSIX 线程,请参见pthread_rwlock_tryrdlock 语法。
rw_tryrdlock() 在成功完成之后返回零。其他任何返回值都表示出现了错误。如果出现以下任一情况,该函数将失败并返回对应的值。
EINVAL
描述:参数无效。
EFAULT
描述:rwlp 指向的地址非法。
EBUSY
描述:rwlp 所指向的读写锁已经锁定。