На протяжении вызовов CoreFoundation framework source, POSIX файловой системы API (например open()
, stat()
, и др ...) являются wrapped in an idiom, в котором дескриптор на /dev/autofs_nowait
приобретается - с - до Выполняются вызовы POSIX; после этого дескриптор close()
'd перед выходом области.риски и выгоды, связанные с использованием/DEV/autofs_nowait на OS X
В чем преимущество этого? Каковы риски?
ли заручаются
/dev/autofs_nowait
дескриптора оказывают никакого влияния на, или это осуществляется, флаги на любые константы выглядит завернутыхopen()
вызовов (например, например,O_NONBLOCK
)?/dev
на моей машине, работает OS X 10.10.5 имеет другую «Autofs» запись:... ни одна из которых имеет
man
страницы доступной. Если эти файловые устройства могут предложить преимущества в этом ключе, мне было бы интересно услышать об их использовании, как это может иметь место.
Добавление: Я не мог найти много на эту тему; а Google Plus post from 2011 утверждает, что:
[т] его файл является специальным устройством, который контролируется реализацией файловой системы AutoFS в ядре. При открытии файловая система autofs не будет блокировать этот процесс при любых операциях ввода-вывода в файловой системе autofs .
Я не совсем уверен, что это значит (они были конкретно говорить о том, как launchd
работ, FWIW), но мне было интересно об этом сам, так что я написал a quick context-manager-y RAII struct к try it out - нецелевой профилирование показывает тесты с POSIX вызовов завершения быстрее но в общих чертах; Я буду исследовать эту тактику с более тонкой зубчатой гребенкой, после того как я получу больше информации о том, как все это работает.
Если это работает на основе каждого процесса, это может вызвать нежелательное поведение в других потоках, которые * не хотят ингибирования. – o11c
@ o11c Полезно знать, спасибо. – fish2000