MacはBSDではない

ユーザーランドがBSDでも、カーネルBSDではない。カーネルMachベースの独自カーネル


先日のkqueueが動かない件ですが、原因は「Macだから」でした。案の定と言うか何と言うか。FreeBSDで動かしてもらったら、フツーに動作。
でもlaunchdはkqueueを使っていたような気が…Darwinのソースも手元に置いておかないといけないかな。


それから、マルチスレッド用の非同期Loggerで、パイプだとメッセージ境界が保たれないから、UNIXドメインソケットで(PF_LOCAL)でSOCK_SEQPACKETを使おうと思ったら、"Protocol not supported"と。 on Mac

Linuxにもっていったら動きました。
それから「BSD manual PF_LOCAL OR AF_LOCAL -linux」で探すと、FreeBSDでも普通に動く気配。
http://ecos.sourceware.org/docs-latest/ref/net-common-tcpip-manpages-socket.html

FreeBSDの開発環境も要るかなぁ。…と、あれ。↑のページ、「BSD System Calls Manual」って書いてあるけど、eCosってRedHatのプロジェクトじゃなかったっけ。RedHatカーネルBSD系?


普通に書いていると、どんどんLinux依存になってしまってマズイ。
Linuxが10年後も残っているかと言えば、微妙なんじゃないかと…