【发布时间】:2013-08-20 08:58:34
【问题描述】:
AFAIK,互斥 API 是在 LDD3(Linux 设备驱动程序第 3 版)编写后引入内核的,因此书中没有描述。
本书描述了如何使用内核的信号量 API 实现互斥功能。
建议使用down_interruptable() 而不是down():
一般情况下,您不会 除非确实别无选择,否则希望使用不可中断的操作。不可中断的操作是创建不可终止进程的好方法(可怕的 在 ps 中看到“D state”),并惹恼你的用户 [Linux Device Drivers 3rd ed]
现在。这是我的问题:
互斥 API 有两个“相似”的功能:
mutex_lock_killable() 和 mutex_lock_interruptable()。我应该选择哪一个?
【问题讨论】:
标签: linux-kernel mutex semaphore