pmf*_*pmf 5 locking pthreads mutual-exclusion rwlock
我对pthread函数pthread_rwlock_wrlock的行为有疑问。上面链接的规范指出,当一个线程锁定了写锁并且同一线程再次将其锁定时,将导致未定义的行为(我实际上可以观察到这一点,因为在x86 Linux上,调用此函数是noop,而在PowerPC Linux上,停止线程)。
我需要的行为是具有以下特征的读写锁:
使用a时pthread_mutex_t,可以通过初始化标志来控制锁的递归性,但是对于,这是不可能的pthread_rwlock_t。
我有什么选择?实际上,我从来没有必须在C中实现这种并发原语,而且我想这里缺少一些明显的解决方案。