【发布时间】:2013-02-06 07:42:27
【问题描述】:
我正在尝试创建一个具有结构的内核模块,并且我想在用户空间应用程序中使用相同的结构,并且该应用程序与给定的模块一起使用。
主要问题是这个结构包含一个名为spinlock_t type 的变量。它在内核中用于锁定,但不知道如何在用户空间应用程序中使用它。
struct new_struct
{
...some variable...
spinlock_t u_lock;
};
有没有办法在用户空间应用程序中使用自旋锁。
或者是否有任何其他可以在内核和用户空间中使用的锁定技术,这样如果用户应用程序持有该锁,则内核模块应该无法获得它,反之亦然。
【问题讨论】:
-
您是否尝试将此结构传递给 ioctl
标签: c linux linux-kernel locking linux-device-driver