头文件
#include <linux/rwlock.h>
定义rwlock_t锁
rwlock_t pps_lock;
初始化锁
rwlock_init(&pps_lock);
读者加锁
void show_pps(void)
{
read_lock(&pps_lock);
//需要加锁的资源
read_unlock(&pps_lock);
}
EXPORT_SYMBOL(show_pps);
写者加锁
void remember_pps(__be16 port, u64 pps, int src)
{
write_lock(&pps_lock);
//需要加锁的资源
write_unlock(&pps_lock);
}
EXPORT_SYMBOL(remember_pps);