首页 > 解决方案 > 打开多个文件描述符到 /dev/ion

问题描述

这篇文章指出:

用户空间 C/C++ 程序必须先被授予对 /dev/ion 设备的访问权限,然后才能从 ION 分配内存。对 open("/dev/ion", O_RDONLY) 的调用会返回一个文件描述符作为代表 ION 客户端的句柄。是的,可以通过 O_RDONLY 打开来分配可写内存。每个用户进程最多只能有一个客户端。

但是,我不清楚的是,每个用户进程是否只能有一个文件描述符到 /dev/ion。我的意思是,“每个用户进程不能有超过一个客户端”不一定意味着“每个用户进程不能有超过一个 FD 到 /dev/ion”。例如,可能每个进程只有一个 ION 客户端,但打开多个 /dev/ion FD 只会增加内部 ION 客户端引用计数,这意味着这些多个 FD 都引用同一个 ION 客户端。

那么,多次调用 open() 可以吗?

这很重要,因为我在一个项目中有多个代码片段,它们都试图自己打开/dev/ion。如果这样做可以,那么我将它们保持原样,否则我必须重构它们以使用一个全局 /dev/ion FD。

标签: androidclinuxandroid-ion

解决方案


推荐阅读