我有一些在FreeBSD和Linux上运行的特定硬件。
我必须使用内核/用户空间应用程序之间的共享内存来运行驱动程序的用户空间应用程序。 我的应用程序对来自用户空间的共享内存进行繁忙轮询。 有什么想法我怎么可以使用这样的机制选择睡眠并获得共享内存更改的通知(购买驱动程序)?
我不想实现像netlink这样的通信,因为select的想法是睡眠,如果发生了什么事情就醒来,并保持清醒并继续处理数据而不用内核处理更多的IPC。 然后,当它完成时,应用程序可以再次调用select并再次等待。
谢谢。
答案 0 :(得分:0)
您正在寻找FreeBSD上的kqueue(2)接口。 在Linux上有inotify / epoll。