ソケットsendmsg
のシステムコールコードを調べていたところ、AF_UNIX
次の機能が見つかりました(wait_for_unix_gc
フライングソケット用のガベージコレクタ)。機内ソケットとは何か簡単に教えてくれる人はいますか?
カーネルファイル:linux/net/unix/garbage.c
答え1
UnixネットワークプログラミングV1:15.7章から直接コピーしました。
転送プロセスは、渡される記述子を含むmsghdr構造(セクション14.5)を構築します。 POSIXでは、記述子が補助データ(msghdr構造のmsg_controlメンバー、セクション14.6)に送信されることを指定しますが、以前の実装ではmsg_accrightsメンバーを使用します。転送プロセスはsendmsgを呼び出して、Unixドメインソケットを介してステップ1の記述子を送信します。この時点で、私たちは記述子を」飛行中「送る過程があっても 記述子を閉じるsendmsgを呼び出した後、しかし、受け取る前に プロセス呼び出し recvmsg(next), 記述子開いている 受信プロセスで使用されます。記述子を送信すると、記述子の参照数が 1 ずつ増加します。