This article状态:
必须先授予用户空间C / C ++程序对/ dev / ion设备的访问权限,然后才能从ION分配内存。对open(“ / dev / ion”,O_RDONLY)的调用返回一个文件描述符作为代表ION客户端的句柄。是的,可以在O_RDONLY打开的情况下分配可写内存。每个用户进程最多只能有一个客户端。
但是,我不清楚是否每个用户进程/ dev / ion只能有一个文件描述符。我的意思是,“每个用户进程最多只能有一个客户端”可能不一定意味着“每个用户进程最多只能有一个FD到/ dev / ion的FD”。例如,可能每个进程只有一个ION客户端,但是打开多个/ dev / ion FD只会增加内部ION客户端引用计数,这意味着这些多个FD都引用同一个ION客户端。
那么,多次调用open()可以吗?
这很重要,因为我在一个项目中有多个代码片段,并且所有这些片段都尝试自行打开/ dev / ion。如果可以这样做,那么我将其保留不变,否则我必须重构它们以使用一个全局/ dev / ion FD。