我有个问题。我正在尝试在内核模块中使用信号量,并希望初始化信号量中可用缓冲区大小的数量以及完整变量和空变量。

尽管我知道如何通过使用下面的代码在用户空间中实现它,但是在内核模块中实现相同的东西还是很麻烦。

在内核模块中实现信号量的满和空时,是否有其他方法?

最佳答案

你不知道<semaphore.h>是一个用户空间API(POSIX信号量),在内核中不可用。

内核中有许多类似的锁定API-最著名的是struct semaphore,但也要注意rwlock以及类似RCU的锁定替代方法。

关于linux - 如何初始化semaphore.h?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42661403/

10-13 07:27