Открытие более одного файлового дескриптора в / dev / ion - PullRequest
0 голосов
/ 21 ноября 2018

В этой статье говорится:

Программе C / C ++ в пользовательском пространстве должен быть предоставлен доступ к устройству / dev / ion, прежде чем он сможет выделять память из ION.Вызов open ("/ dev / ion", O_RDONLY) возвращает дескриптор файла в качестве дескриптора, представляющего клиент ION.Да, можно выделить доступную для записи память с открытым O_RDONLY.Для каждого пользовательского процесса может быть не более одного клиента.

Однако мне неясно, может ли быть только один дескриптор файла от до / dev / ion напользовательский процесс.Я имею в виду, что «не может быть более одного клиента на пользовательский процесс», это не обязательно означает «не может быть более одного FD для / dev / ion на пользовательский процесс».Например, может быть так, что в каждом процессе есть только один клиент ION, но открытие нескольких FD / dev / ion просто увеличивает внутренний счетчик ссылок клиента ION, а это означает, что все эти несколько FD ссылаются на одного и того же клиента ION.

Итак, вызывает ли open () несколько раз, ОК?

Это важно, потому что у меня есть несколько фрагментов кода в проекте, и все они пытаются открыть / dev / ion самостоятельно.Если это нормально, я оставляю их такими, какие они есть, в противном случае я вынужден реорганизовать их для использования одного глобального / dev / ion FD.

...