Udostępnianie portów Machu procesom potomnym

Robię porównanie różnych mechanizmów IPC dostępnych w Mac OS X (rury, gniazda, IPC Systemu V itp.) I chciałbym zobaczyć, jak porty Mach porównują z alternatywami wyższego poziomu. Natknąłem się jednak na bardzo podstawowy problem: uzyskanie uprawnień do wysyłania portów do różnych procesów (w szczególności w procesie nadrzędnym i procesie potomnym).

W przeciwieństwie do deskryptorów plików,porty na ogół nie są przenoszone na rozwidlone procesy. Oznacza to, że należy ustanowić inny sposób ich przesyłania. Prawie jedyna istotna strona, jaką mogłem znaleźć na ten temat, byłateni stwierdzają w aktualizacji, że ich metoda już nie działa i nigdy nie była gwarantowana, mimo że była to metodazasugerował inżynier Apple w 2009 roku. (Sugerowało to zastąpienie portu ładowania początkowego, a teraz robi to przerwanie XPC.) Zastąpienie, które sugerują, używa przestarzałych funkcji, więc nie jest to bardzo atrakcyjne rozwiązanie.

Poza tym w starym rozwiązaniu podobało mi się to, że porty pozostały prawie prywatne między procesami, które go używały. Nie było potrzeby nadawania istnienia portu, tak jak rury (zpipe zadzwoń) praca raz rozwidlona. (Prawdopodobnie będę z tym żyć, jeśli istnieje inne rozwiązanie, ale jest to trochę denerwujące.)

Jak więc przekazać prawo wysyłania do portu Mach z procesu nadrzędnego do procesu potomnego?

questionAnswers(3)

yourAnswerToTheQuestion