首页 > 解决方案 > 为什么linux驱动程序同时使用信号量和spin_lock?

问题描述

我遇到了一个同时使用信号量和自旋锁的 linux 驱动程序代码:

struct semaphore lock;
spinlock_t int_lock;
unsigned long flag;

void dequeue()
{
down_interruptible(lock);
spin_lock_irqsave(int_lock,flag);
}

有必要两者一起使用吗?

标签: linux-device-driver

解决方案


推荐阅读