我试图用读/写锁保护我的list
数据,我在这个线程中找到了解决方案:
What's the best linux kernel locking mechanism for a specific scenario
但我找不到此解决方案所需的标题,似乎已过时,错误:error: ‘RW_LOCK_UNLOCKED’ undeclared here (not in a function)
使用<linux/spinlock.h>
最佳答案
RW_LOCK_UNLOCKED
已经被弃用了很长一段时间,最后在Linux2.6.39中被删除,所以现在,according to the documentation:
对于动态初始化,使用spin_lock_init()或rwlock_init()作为
适当的:
…
对于静态初始化,请使用define_spinlock()/define_rwlock()或
_旋转锁定锁定(如适用)/(如适用)旋转锁定锁定(如适用)。
就像
static DEFINE_RWLOCK(myrwlock);
或
rwlock_t myrwlock;
static int __init rwlock_init(void)
{
rwlock_init(&myrwlock);
}
而不是
rwlock_t myrwlock = RW_LOCK_UNLOCKED;