Przez połączeń CoreFoundation framework source POSIX plików API (np open()
, stat()
, wsp ...) są wrapped in an idiom którym deskryptor na /dev/autofs_nowait
jest nabytą - z - przed Wykonuje się połączenia POSIX; następnie deskryptor ma wartość close()
'przed wyłączeniem zakresu.Ryzyka i korzyści wynikające z używania/dev/autofs_nowait na OS X
Jakie są tego korzyści? Jakie są zagrożenia?
Czy pozyskiwania deskryptor
/dev/autofs_nowait
mają żadnego wpływu na lub jest dokonywane przez, flagi jakichkolwiek wygląda następująco owinięteopen()
połączeń (jak npO_NONBLOCK
)?/dev
na moim komputerze z systemem OS X 10.10.5 ma inne „autofs” wpisy:... z których żaden nie ma
man
stron dostępne. Jeśli te urządzenia podobne do plików mogą oferować korzyści w tym duchu, chciałbym usłyszeć o ich wykorzystaniu, jak może się to odnosić.
Uzupełnienie: Nie mogłem znaleźć wiele na ten temat; A Google Plus post from 2011 twierdzi, że:
[t] jego plik jest specjalnym urządzeniem, który jest monitorowany przez wdrożenie autofs systemu plików w jądrze. Po otwarciu system plików autofs nie będzie blokował tego procesu w żadnych operacjach we/wy w systemie plików autofs w wersji .
Nie jestem pewien, co to znaczy (zostały one specjalnie mówić o tym, jak launchd
prac, FWIW), ale byłem ciekaw o tym sam, więc napisałem a quick context-manager-y RAII struct do try it out - niekierowane profilowanie pokazuje testy z POSIX wywołań ukończenie szybciej ale w ogólnych hashmarks; Zbadam tę taktykę za pomocą grzebienia o drobniejszym uzębieniu, gdy dowiem się więcej o tym, jak to wszystko działa.
Jeśli działa to w trybie per-process, może to powodować niepożądane zachowanie w innych wątkach, które * nie * chcą zahamować. – o11c
@ o11c Dobrze wiedzieć, dzięki. – fish2000