在unlocked_ioctl()内部使用什么同步机制?

时间:2018-10-17 04:51:58

标签: c linux-kernel synchronization locking mutex

我已经看到内核代码中的许多unlocked_ioctl()函数根本没有使用任何数据同步(互斥量,信号量等)。他们中的一些人使用mutex_lock() 这是无法睡眠的,但是我记得copy_to_user()/copy_from_user()是可以睡眠的,因此对我来说看起来不正确。我之所以没有将其用于设备驱动程序开发,主要是因为我所处理的硬件根本不支持多进程,所以这是不可能的。

只是想知道unlocked_ioctl()首选哪种同步机制,以防我需要使用一种同步机制?

0 个答案:

没有答案