On Sep 24, 2006, at 2:51 PM, R. Tyler Ballance wrote:
I thought the Mach goo was starting to be separated out into its own gooey file? :)
You mention it being more work to keep the artificial division, but I though the "division" was one of the goals of making launchd "more" open source? To allow for (namely me :P) the community to start adapting launchd to other non-Mach (and thus no wonderful MIG) systems, like FreeBSD. From my understanding _unix_ipc.c and _mach_ipc.c weren't too "relevant" in terms of offering different IPC implementations, but I was under the impression that further down the line I would be throwing pure unix sockets (or otherwise) IPC into the former for FreeBSD/OpenBSD/etc while the majority of launchd IPC on Darwin remained tied to Mach ports?
Hmm… I'm trying to keep the layering within the launchd project as clean as possible. Really, I am. :-P What that means is that I'm not going to gratuitously use the wrong technology for dogmatic reasons. Sometimes Mach provides a better API/ tool. Sometimes Unix does. I don't wish to preclude porting, but I've got a job to do too. This is one of the reasons why launchd tries to keep itself at the system-call boundary as much as possible. I'm going to try and keep the Unix IPC alive, but you may find some of it disabled in the future with C-preprocess macros. I'll need you or someone else in the community to test/use it and keep that code functional. :-( Like I said, I've got a job to do. I'm happy to work with you at integrating any code that makes launchd portable. Cheers, davez